Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] [BASH] wstawki z perla + przekazywanie argumentow
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Polish OTW
View previous topic :: View next topic  
Author Message
soban_
l33t
l33t


Joined: 27 Aug 2008
Posts: 679
Location: /home/soban

PostPosted: Sun Jun 24, 2012 12:47 pm    Post subject: [SOLVED] [BASH] wstawki z perla + przekazywanie argumentow Reply with quote

Tak jak w temacie, chce w skrypcie bashowym dac wstawke z perla. Chcialbym wszystko zachowac w jednym pliku bez tworzenia pobocznych, problem polega na przekazaniu parametrow do skryptu:
Code:
#!/bin/bash
perl <<'EOF'
        print "Jakis komunikat\n";
EOF

exit 0
No i to ladnie smiga, jednak jak prazekazac cos takiego:
Code:
#!/bin/bash
perl <<'EOF'
        print "Jakis komunikat: $1 $2 $3\n";
EOF
No i tutaj wywala blad, moglbym w skrypcie perla zrobic funkcja($ARGV[1],$ARGV[2],$ARGV[3]); jednak jak to wykrzesac zeby pobieral to z basha podczas wywolania? Tak wiem, moge np przez echo zapisac to do pliku, a pozniej odpalic plik z perla juz z parametrami. Jednak jak to zrobic w jednym pliku ze skryptem?
_________________
gg: 525600


Last edited by soban_ on Tue Jun 26, 2012 4:04 pm; edited 1 time in total
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 490

PostPosted: Sun Jun 24, 2012 2:06 pm    Post subject: Reply with quote

A po kiego tobie bash do odpalania perla?

Weź zamiast basha całosć zrób w perlu, i nie będziesz miał klopotu z argumentami.
Zawsze też możesz z basha odpalić w typie
Code:
env ZMIENNA1="x" ZMIENNA2="y" skrypt_perla
i potem w perlu odczytać zmienne,
choć zbyt wielkiego sensu w tym nie ma.

Prościej sobie poradzisz samym perlem, bez basha.

Pozdrawiam
8)


Last edited by Jacekalex on Sun Jun 24, 2012 2:46 pm; edited 2 times in total
Back to top
View user's profile Send private message
soban_
l33t
l33t


Joined: 27 Aug 2008
Posts: 679
Location: /home/soban

PostPosted: Sun Jun 24, 2012 2:09 pm    Post subject: Reply with quote

No wlasnie tez tak mysle, problem w tym ze duzo musialbym do perla teraz z basha przepisac...a ta wstawka nie jest az tak mega skomplikowana, no tyle ze tych argumentow wymaga.
_________________
gg: 525600
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 490

PostPosted: Sun Jun 24, 2012 2:15 pm    Post subject: Reply with quote

Ten skrypt jest jakiś mega tajny, czy kosmicznie skomplikowany?

Bo ja jak mam skrypt kilkulinijkowy, albo np wykonujący jakieś proste akcje, czy cośtam montujący, to może być w bashu.

Ale jak mam coś robić dłuższego - w senscie linii "funkcyjnych" czy ryzyka użycia w przyszłosci np tablicy asocjacyjnej, sqla, czy jakiegoś mega skompilowanego regexa, to do basha się nawet nie zbilżam, tylko od razu biorę perla.

Plik tymczasowy w ramdysku może być tworzony, choć to ciężkie lamerstwo, już chyba prościej Ci pójdzie zmiennymi, jak argumenty nie wchodzą.

Pozdrawiam
8)


Last edited by Jacekalex on Sun Jun 24, 2012 4:54 pm; edited 1 time in total
Back to top
View user's profile Send private message
soban_
l33t
l33t


Joined: 27 Aug 2008
Posts: 679
Location: /home/soban

PostPosted: Sun Jun 24, 2012 4:38 pm    Post subject: Reply with quote

Tzn powiem Ci tak, dlugo go pisalem (dopisujac w trakcie co bylo potrzebe na dana chwile) i jest w pelni funkcjonalny ma 426 linijek (to sa glownie jakies tam funkcje dopisywane na szybko) no i ze bash troche mnie ogranicza potrzebuje troche skorzystac z perla. Problem w tym ze ten skrypt duzo wykonuje komed linuxowych wiec wszystko musialbym do perla przepisac uzywajac funkcji system.
_________________
gg: 525600
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 490

PostPosted: Sun Jun 24, 2012 4:46 pm    Post subject: Reply with quote

Pojedyncze funkcje przepisać - nie jest to jakaś super magia.
Poskładać do kupy - wykonalne.

Na przyszłość, jak coś ma być dłuższe niż 50 linii - docelowo, to bierz od razu perla albo pythona.
Na razie możesz wywoływać nie kod, ale zewn skrypt perlowy, i powinno ruszyć.
Ja osobiście wolę sobie w skryptach robić wyjście błędu z komunikatem na maila lub jabbera, jeśli taki skrypt ma robić coś większegoo lub ważnego.
Niestety modułów do gadu, jabbera, czy SMTP do basha nie widziałem. :D

Zwłaszcza np bakcupy robione w tle, i zrzuty baz danych.
Wolę wiedzieć na bierząco, jak wygląda bajzel. :twisted:

A w perlu masz system, exec i fork, także jest w czym wybierać. :)

Pozdrawiam
8)
Back to top
View user's profile Send private message
SlashBeast
Moderator
Moderator


Joined: 23 May 2006
Posts: 2824

PostPosted: Sun Jun 24, 2012 8:27 pm    Post subject: Reply with quote

zamiast <<'EOF' daj <<EOF, bez ciapek bedzie resolvowac zawartosc tego bloku.
_________________
BitBucket -- better-initramfs to address many usecases and linux's limitations.
Back to top
View user's profile Send private message
soban_
l33t
l33t


Joined: 27 Aug 2008
Posts: 679
Location: /home/soban

PostPosted: Tue Jun 26, 2012 4:04 pm    Post subject: Reply with quote

No i SOLVED, @Jacekalex a mozesz bardziej przedstawic jak to widziales z ciekawosci na ramdysku? W sensie jakis example albo cus.
_________________
gg: 525600
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 490

PostPosted: Tue Jun 26, 2012 4:09 pm    Post subject: Reply with quote

soban_ wrote:
@Jacekalex a mozesz bardziej przedstawic jak to widziales z ciekawosci na ramdysku? W sensie jakis example albo cus.

Np tak:
Code:

tmpfs        /var/tmp   tmpfs   noatime,mand,size=3G,mode=1777     0   0
tmpfs       /tmp       tmpfs   noatime,nosuid,nodev,noexec,mode=1777   0  0

To z mojego /etc/fstab.
Sznurek: http://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt

Pozdrawiam
8)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Polish OTW All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum