我有一個Linux bash腳本'myshell'。我希望它讀取兩個日期作爲參數,例如:myshell date1 date2
。我是一名Java程序員,但不知道如何編寫腳本來完成此任務。如何將參數傳遞給Linux Bash腳本?
腳本的其餘部分是這樣的:
sed "s/$date1/$date2/g" wlacd_stat.xml >tmp.xml
mv tmp.xml wlacd_stat.xml
我有一個Linux bash腳本'myshell'。我希望它讀取兩個日期作爲參數,例如:myshell date1 date2
。我是一名Java程序員,但不知道如何編寫腳本來完成此任務。如何將參數傳遞給Linux Bash腳本?
腳本的其餘部分是這樣的:
sed "s/$date1/$date2/g" wlacd_stat.xml >tmp.xml
mv tmp.xml wlacd_stat.xml
你在你的腳本如使用$1
,$2
date1="$1"
date2="$2"
sed "s/$date1/$date2/g" wlacd_stat.xml >temp.xml ;mv temp.xml wlacd_stat.xml #Semicolon can also replaced with a newline
它的工作原理,謝謝 – chun 2010-04-15 13:48:41
@chun,您也可能要等待一段時間才能接受答案,即使它適合您。也許其他人可以提出更好的答案,但他們甚至可能不會看你的問題,因爲已經接受了一些東西。 – 2010-04-15 13:51:08
$ 0 $ 1 $ 2
等都將包含腳本名稱,然後是第一和第二行參數。
Bash參數以其位置命名。
而且,如果你需要的其他後處理一個說法,你可以移動它們,總是使用$1
:
while [ $# -gt 0 ]
do
echo $1
shift
done
事實上,所謂的「shell」被稱爲「腳本」。請注意格式化您的文章(請在文本框右側查看提示),並請大寫字母開頭。 – 2010-04-15 13:37:21
我收到了~~感謝您的提醒 – chun 2010-04-21 09:14:31