View previous topic :: View next topic |
Author |
Message |
soban_ l33t
Joined: 27 Aug 2008 Posts: 668 Location: /home/soban
|
Posted: Sun Jun 24, 2012 12:47 pm Post subject: [SOLVED] [BASH] wstawki z perla + przekazywanie argumentow |
|
|
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 |
|
|
Jacekalex Guru
Joined: 17 Sep 2009 Posts: 553
|
Posted: Sun Jun 24, 2012 2:06 pm Post subject: |
|
|
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
Last edited by Jacekalex on Sun Jun 24, 2012 2:46 pm; edited 2 times in total |
|
Back to top |
|
|
soban_ l33t
Joined: 27 Aug 2008 Posts: 668 Location: /home/soban
|
Posted: Sun Jun 24, 2012 2:09 pm Post subject: |
|
|
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 |
|
|
Jacekalex Guru
Joined: 17 Sep 2009 Posts: 553
|
Posted: Sun Jun 24, 2012 2:15 pm Post subject: |
|
|
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
Last edited by Jacekalex on Sun Jun 24, 2012 4:54 pm; edited 1 time in total |
|
Back to top |
|
|
soban_ l33t
Joined: 27 Aug 2008 Posts: 668 Location: /home/soban
|
Posted: Sun Jun 24, 2012 4:38 pm Post subject: |
|
|
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 |
|
|
Jacekalex Guru
Joined: 17 Sep 2009 Posts: 553
|
Posted: Sun Jun 24, 2012 4:46 pm Post subject: |
|
|
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.
Zwłaszcza np bakcupy robione w tle, i zrzuty baz danych.
Wolę wiedzieć na bierząco, jak wygląda bajzel.
A w perlu masz system, exec i fork, także jest w czym wybierać.
Pozdrawiam
|
|
Back to top |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Sun Jun 24, 2012 8:27 pm Post subject: |
|
|
zamiast <<'EOF' daj <<EOF, bez ciapek bedzie resolvowac zawartosc tego bloku. |
|
Back to top |
|
|
soban_ l33t
Joined: 27 Aug 2008 Posts: 668 Location: /home/soban
|
Posted: Tue Jun 26, 2012 4:04 pm Post subject: |
|
|
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 |
|
|
Jacekalex Guru
Joined: 17 Sep 2009 Posts: 553
|
Posted: Tue Jun 26, 2012 4:09 pm Post subject: |
|
|
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
|
|
Back to top |
|
|
|