我有一個可執行的shell腳本名稱project2。以下是我的老師給我的項目指導之一。如何將命令行參數放到shell腳本中
此腳本必須接受至少一個 命令行參數:目錄 其中它的輸出將被放置。如果 那個目錄沒有在 命令行上給出,那麼腳本應該使用合理的默認目錄 。
你能告訴我如何讓我的腳本接受命令行。我以前沒有做過這樣的事情。任何幫助將不勝感激。非常感謝。
我有一個可執行的shell腳本名稱project2。以下是我的老師給我的項目指導之一。如何將命令行參數放到shell腳本中
此腳本必須接受至少一個 命令行參數:目錄 其中它的輸出將被放置。如果 那個目錄沒有在 命令行上給出,那麼腳本應該使用合理的默認目錄 。
你能告訴我如何讓我的腳本接受命令行。我以前沒有做過這樣的事情。任何幫助將不勝感激。非常感謝。
對於bash
,命令行參數存儲在$1
,$2
等等,而$#
會給你計數。此外,shift
可用於將它們全部「左移」一個位置並減少計數。
下面的腳本是瞭解一個很好的起點的參數是如何工作的:
echo $#
while [[ $# -gt 0 ]] ; do
echo "$1"
shift
done
當你運行它:
./myprog.sh hello there my name is "pax diablo"
輸出:
6 hello there my name is pax diablo
你的任務的基本思想是:
另請參閱'man bash'中的「特殊參數」部分 – 2010-11-15 06:56:10
哇,謝謝你的詳細信息。現在我明白它是如何工作的。非常感謝。 – 2010-11-15 08:02:52
看一看Advanced Bash Scripting guide的this section。
我建議您閱讀整個指南。
我假設你正在使用bash,而不是其他一些shell,對嗎? – 2010-11-15 06:43:06
是的,我使用的是Bash – 2010-11-15 06:43:58