0
那麼,我目前是新手shell腳本。我有其他編程語言的基本知識,例如HTML,JScript,VB.NET和C++的Javascript。 (C++沒有那麼多,只是把腳浸入水中)。最近,我最近的項目一直在嘗試儘可能多地學習Bash shell腳本。目前的問題是瞭解狀態錯誤代碼,以及檢查某些參數是否包含目錄或者是否存在目錄。我正在從一本書開始,帶有教程和複習題。不幸的是,沒有答案的關鍵,甚至沒有提示。BASH需要腳本幫助
- 顯示與狀態1的錯誤消息並退出,如果沒有參數被給予
- 顯示錯誤消息並以狀態2退出如果源不是目錄
- 顯示錯誤消息並退出與狀態3如果目標不存在或不是一個目錄
以上是我必須做的,到目前爲止,第一個我相信我已經做得正確,如果沒有請糾正我,或者指導我在正確的方向。正如我在給出樣品時學到的最好,我想我會尋求幫助。
if [ $? ]; then
echo "You must supply at least one parameter"
exit 1
fi
#The above is the part I am pretty sure is correct.
if [ $? -d $directory "$1" ]; then
echo "$directory is not a directory"
exit 2
fi
#The above was self written. I am almost positive it is wrong.
if [ $? -lt 2 ]; then
set "$1" .pwd
fi
#the above was given to me from the book as a reference point to start (tutorial)
`if`和`[`之間應該有空格。應引用`$ 1`和`$ 2`來避免字段拆分和路徑名的生成。 `||`分隔命令,所以你需要`如果[! -e「$ 2」] || [! -d「$ 2」];然後`(儘管`-e`測試在這裏是多餘的,`-d`如果不存在則返回false)。 – jilles 2010-11-23 23:09:34