2010-05-20 152 views
1
#!/bin/bash 
usage() { echo "usage: ‘basename $0‘ project_name" } 

if [ $# -ne 1 ] 
then 
usage 
exit 1 
fi 

mkdir $1 

這段代碼做了什麼?Bash腳本幫助

回答

3

基本上,它創建一個目錄。你會運行該腳本是這樣的:

<scriptName> /my/directory/to/create 

[$# -ne 1]是確保調用者提供一個參數(目錄名),並且如果不是這種情況,它打印用法消息並退出。

usage函數中,$0被替換爲腳本的名稱。

假設沒有別的腳本文件,你可以運行一個命令完成同樣的事情:

mkdir /my/directory/to/create 
+0

'usage'將被稱爲「功能」而不是「子程序」。 – 2010-05-20 21:57:11

1

它說,如果用戶沒有提供一個命令行參數的腳本它將退出(顯示關於使用情況的消息)。如果調用正確,它將創建一個名稱作爲參數提供給腳本的文件夾。

1

如果用戶只爲腳本提供一個參數,該腳本將創建一個目錄。不知何故,通過添加'else'分支可以編寫更多可讀的腳本。

#!/bin/bash 
usage() { 
    echo "usage: ‘basename $0‘ project_name" 
} 

if [ $# -ne 1 ] 
then 
    usage 
    exit 1 
else 
    mkdir $1 
fi