Strona 1 z 1

bash przekazywanie parametrów do skryptu

: 08 lis 2008, 14:02
autor: alhaim
Witam,
Potrzebuje napisać skrypt do którego będzie można przekazywać pewne parametry, określając jaki to parametr w formacie -[litera]. Wszystko ma wyglądać mniej więcej tak

./skrypt -d costam1 -e costam2 itd.

co powinienem zrobić by zdefiniować sobie parametry -e -d itd? jak je przekazać do skryptu?

Dzięki za wszlką pomoc

Odp: bash przekazywanie parametrów do skryptu

: 08 lis 2008, 17:54
autor: Struchu
Parametry wywołania skryptu bashowego przetrzymywane są w zmiennych $1, $2 itd. Sprawdzenia, jaki parametr został podany można dokonać np. poprzez porównanie:

Kod: Zaznacz cały

if "$1" = "-d"
then
#jakieś instrukcje
fi

Odp: bash przekazywanie parametrów do skryptu

: 08 lis 2008, 18:04
autor: el.pescado
Pomocny może być też program getopt:

Kod: Zaznacz cały

man 1 getopt

Odp: bash przekazywanie parametrów do skryptu

: 06 sty 2009, 19:18
autor: xlight
Witam
Mam pytanie czy jest możliwość wyświetlenia wszystkich parametrów z jakimi zostal uruchomiony program? Chiałbym zeby parametry mozna bylo wyswietlic w pętli, a nie podając konkretny argument $1, $2, $3, ...

Odp: bash przekazywanie parametrów do skryptu

: 06 sty 2009, 20:33
autor: Rgl
Jeśli chodzi tylko o wyświetlenie wszystkich parametrów to wystarczy:

Kod: Zaznacz cały

echo $@

Odp: bash przekazywanie parametrów do skryptu

: 06 sty 2009, 22:05
autor: xlight
Potrzebuje skorzystac z tych parametrów, dlatego samo $@ nie wystarczy.

Odp: bash przekazywanie parametrów do skryptu

: 06 sty 2009, 22:50
autor: dawidgarus
polecam instrukcje case:

Kod: Zaznacz cały

while test -n "$1"; do
 case "$1" in
  "-d")
   d="$2"
   shift
   shift
   ;;
  "-e")
   e="$2"
   shift
   shift
   ;;
 esac
done

Odp: bash przekazywanie parametrów do skryptu

: 06 sty 2009, 23:18
autor: Rgl
xlight pisze:Potrzebuje skorzystac z tych parametrów, dlatego samo $@ nie wystarczy.
Wystarczy bo można wykorzystać jako listę do pętli for

Kod: Zaznacz cały

for x in $@
do
echo $x 
#wewnątrz pętli $x jest wartością parametru 
done

Odp: bash przekazywanie parametrów do skryptu

: 07 sty 2009, 22:52
autor: xlight
Dzięki Rgl, właśnie o to mi chodziło.