[英]How to fix shell script that works at the command line? Script uses `mv`, quotation marks, parameter expansion, and variables
[英]How to put command line parameter to shell script
我有一個可執行的Shell腳本名稱project2。 以下是我的老師在該項目上給我的指示之一。
該腳本必須至少接受一個命令行參數:要放置其輸出的目錄。 如果在命令行上未提供該目錄,則腳本應使用合理的默認目錄。
您能告訴我如何使我的腳本接受命令行嗎? 我以前沒有做過這樣的事情。 任何幫助將不勝感激。 非常感謝。
對於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
作業的基本思路是:
我建議您閱讀整個指南。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.