Freesco, NND, CDN, EOS
http://forum.freesco.pl/

BASH - problemik
http://forum.freesco.pl/viewtopic.php?f=28&t=16014
Strona 1 z 1

Autor:  viater [ poniedziałek, 1 października 2007, 21:19 ]
Tytuł:  BASH - problemik

Jest sobie program, który parametry dostaje w postaci:

program -z -x -c 'jakis tam ADRES'

Potrzebuję ten program wywołać ze skryptu bash, który to skrypt będzie dostawał w parametrze tylko ADRES.

Próbowałem tak:
: [/] [] ()
program -z -x -c 'jakis tam $1'
program -z -x -c \'jakis tam $1\'
cmd=`program -z -x -c 'jakis tam $1'`
cmd=`program -z -x -c \'jakis tam $1\'`


oraz jeszcze na kilka innych sposobów i ni ch**a :evil:

Może ma ktoś jakiś pomysł ?

Odpowiedź, że się NIE DA (o ile oczywiście będzie to prawda), też mnie satysfakcjonuje, bo dam sobie spokój i przestanę się wk*****ć.

Autor:  Mis' [ poniedziałek, 1 października 2007, 21:31 ]
Tytuł:  Re: BASH - problemik

viater pisze:

Może ma ktoś jakiś pomysł ?


a tak próbowałeś:

#!/bin/sh

adres=$1
parametry="-z -x -c $adres"

program "$parametry"


nie wiem czy zadziała, nie sprawdzałem.

Autor:  -MW- [ poniedziałek, 1 października 2007, 21:41 ]
Tytuł: 

a jaki masz komunikat podczas pruby uruchomienia?

Autor:  viater [ poniedziałek, 1 października 2007, 21:41 ]
Tytuł:  Re: BASH - problemik

Mis' pisze:
a tak próbowałeś:

#!/bin/sh

adres=$1
parametry="-z -x -c $adres"

program "$parametry"


nie wiem czy zadziała, nie sprawdzałem.


Nie zadziała, bo jeden z parametrów (to jest ciąg wyrazów) MUSI być w apostrofach:

: [/] [] ()
program -z -x -c 'src hst 192.168.1.1'


a mnie chodzi wyłącznie o to 192.168.1.1

Autor:  Mis' [ poniedziałek, 1 października 2007, 21:58 ]
Tytuł:  Re: BASH - problemik

viater pisze:
Mis' pisze:
a tak próbowałeś:

#!/bin/sh

adres=$1
parametry="-z -x -c $adres"

program "$parametry"


nie wiem czy zadziała, nie sprawdzałem.


Nie zadziała, bo jeden z parametrów (to jest ciąg wyrazów) MUSI być w apostrofach:

: [/] [] ()
program -z -x -c 'src hst 192.168.1.1'



hm... zobacz:


[michal@nnd-builder ~]$ cat ./cmd
#!/bin/sh

adres=$1
echo $adres
parametry="-z -x -c 'src hst $adres'"
echo "$parametry"

[michal@nnd-builder ~]$ ./cmd 192.168.1.1
192.168.1.1
-z -x -c 'src hst 192.168.1.1'

[michal@nnd-builder ~]$


IMHO powinno zadziałać.

Autor:  viater [ poniedziałek, 1 października 2007, 22:14 ]
Tytuł: 

Owszem, echo wypisuje prawidłowe wywołanie programu, ale jak spróbuję to wykonać, to niestety, wywala błąd :evil:

Dzięki Mis', już sobie poradziłem. Zamiast apostrofów cudzysłowy i śmiga jak burza:
: [/] [] ()
#!/bin/bash
natdet -vv -d -l /usr/share/natdet/nat.log "src host $1"


Tylko, że głowę bym dał sobie obciąć, że kiedyś już to sprawdzałem i natdet nie łykał tej reguły w " " tylko koniecznie chciał ' ' :!: - może to była starsza wersja ?

Anyway - po problemie, jeszcze raz dziękuję za pomoc :)

Autor:  viater [ poniedziałek, 1 października 2007, 22:26 ]
Tytuł: 

-MW- pisze:
a jaki masz komunikat podczas pruby uruchomienia?

Sorry, w ferworze walki nie zauważyłem Twojego postu ;)

Teraz to już nie ma znaczenia, ale jak już zaczęliśmy, to skończmy.
W zależności od moich różnych kombinacji alpejskich:
- brak komunikatu - wtedy natdet się uruchamiał, tylko w logu pisał, że błędna reguła - albo
- natdet wywalał helpa z komunikatem, że coś nie tak z parametrami.

Jeszcze raz dzięki wszystkim za pomoc.

W sumie może do śmietnika to ?

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/