2009-03-03 21 views
8

Bunun gibi bir toplu iş dosyası var:Argümanlara kabuk betiğine nasıl geçebilirim?

java temptable %1 %2 

Yukarıdakiler için eşdeğer kabuk betiğine ihtiyacım var. Argümanları kabuk senaryosuna ileteceğim ve bu da temptable'a geçilmelidir.

+0

bir kabuk komut dosyası argüman geçmek Nasıl bir makale vardır. En çok komut satırı argümanlarını kapsar [Argümanları bir kabuk betiğine nasıl geçirilir] (http://bashscript.blogspot.com/2009/11/how-to-pass-arguments-to-shell-script.html) –

cevap

17

(bir kabuk, ancak Linux muhtemelen dünyanın en yaygın olan), eşdeğerdir: argümanlar arasında boşluk var varsayarak

java temptable $1 $2 

. boşluk varsa, kendi argümanları alıntı olmalıdır:

java temptable "$1" "$2" 

Ayrıca yapabilirsiniz:

java temptable $* 

ya:

java temptable "[email protected]" 

tekrar (geçirildi tüm parametreleri istiyorsanız, o İkincisi, her bir parametrenin alıntılanmasıyla eşdeğerdir: "$ 1" "$ 2" "$ 3" ...).

+2

Argümanlardan alıntı yapmanızı öneririm. – jdigital

+0

Bitti, teşekkürler, @jd. – paxdiablo

+0

Aynı zamanda sh ve tüm türetilmiş kabuklar için de geçerlidir, sadece bash (AFAIK) –

8
#!/bin/bash 
# Call this script with at least 3 parameters, for example 
# sh scriptname 1 2 3 
echo "first parameter is $1" 
echo "Second parameter is $2" 
echo "Third parameter is $3" 
exit 0 

Çıktı:

İşte
[[email protected] ~]# sh parameters.sh 47 9 34 
first parameter is 47 
Second parameter is 9 
Third parameter is 34 
İlgili konular