不能unset
your_name="qinjx" echo $your_name echo ${your_name}
for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done
#!/bin/bash myUrl="http://www.google.com" readonly myUrl myUrl="http://www.runoob.com" ####### # $/bin/sh: NAME: This variable is read only.
局部變量
局部變量在腳本或命令中定義,僅在當前shell實例中有效,其餘shell啓動的程序不能訪問局部變量。環境變量
全部的程序,包括shell啓動的程序,都能訪問環境變量,有些程序須要環境變量來保證其正常運行。必要的時候shell腳本也能夠定義環境變量。shell變量
shell變量是由shell程序設置的特殊變量。shell變量中有一部分是環境變量,有一部分是局部變量,這些變量保證了shell的正常運行全部的程序,包括shell啓動的程序,都能訪問環境變量,有些程序須要環境變量來保證其正常運行。必要的時候shell腳本也能夠定義環境變量。shell
#-------------------------------------------- # 這是一個註釋 # author:菜鳥教程 # site:www.runoob.com # slogan:學的不只是技術,更是夢想! #-------------------------------------------- ##### 用戶配置區 開始 ##### # # # 這裏能夠添加腳本描述信息 # # ##### 用戶配置區 結束 #####
多行註釋編程
:<<EOF 註釋內容... 註釋內容... 註釋內容... EOF
:<<' 註釋內容... 註釋內容... 註釋內容... ' :<<! 註釋內容... 註釋內容... 註釋內容... !
#!/bin/bash echo "Shell 傳遞參數實例!"; echo "執行的文件名:$0"; echo "第一個參數爲:$1"; echo "第二個參數爲:$2"; echo "第三個參數爲:$3"; :<<! chmod +x test.sh $ ./test.sh 1 2 3 Shell 傳遞參數實例! 執行的文件名:./test.sh 第一個參數爲:1 第二個參數爲:2 第三個參數爲:3 !
參數處理 | 說明 |
---|---|
$# | 傳遞到腳本的參數個數 |
$* | 以一個單字符串顯示全部向腳本傳遞的參數。如"$*"用「"」括起來的狀況、以"$1 $2 … $n"的形式輸出全部參數。 |
$$ | 腳本運行的當前進程ID號 |
$! | 後臺運行的最後一個進程的ID號 |
$@ | 與$*相同,可是使用時加引號,並在引號中返回每一個參數。如"$@"用「"」括起來的狀況、以"$1" "\(2" … "\)n" 的形式輸出全部參數。 |
$- | 顯示Shell使用的當前選項,與set命令功能相同。 |
$? | 顯示最後命令的退出狀態。0表示沒有錯誤,其餘任何值代表有錯誤。 |
#!/bin/bash echo "Shell 傳遞參數實例!"; echo "第一個參數爲:$1"; echo "參數個數爲:$#"; echo "傳遞的參數做爲一個字符串顯示:$*"; :<<! $chmod +x test.sh $./test.sh 1 2 3 Shell 傳遞參數實例! 第一個參數爲:1 參數個數爲:3 傳遞的參數做爲一個字符串顯示:1 2 3 !