1、默認變量
變量 | 含義 | 備註 |
$0 | 腳本名 | 相當於c語言中的argv[0] |
$1 | 腳本名後的第1個參數 | 相當於c語言中的argv[1] |
$2 | 腳本名後的第2個參數 | 相當於c語言中的argv[2] |
$# | 腳本接收的參數個數 | 相當於c語言中的argc |
$@ | 腳本接收的所有參數 | |
$* | 腳本接收的所有參數 | 與$@等價 |
$? | 前一行命令的執行狀態 |
2、變量:
變量之間不能有空格,有空格的話,需要用雙引號或單引號引起來。
VAR="hello world"
3、命令交互read--------------->等待用戶輸入變量,類似c語言的scanf
read [-pt] variable
參數p:後面可以接提示符
參數t:後面可以接秒數
也可以不使用參數
示例1:不使用參數
echo "input yes or no"
read VAR
示例2:
read -p "input yes or no" VAR -------------> -p表示提示的內容
示例3:
read -p "input yes or no" -t 5 VAR ------------->-t表示有5s的輸入時間
4、自動進行交互--->如輸入scp,ssh時需要用戶輸入密碼,此方法無需用戶在現場輸入密碼
參考本文。
5、定義變量類型declare
declare [-aixr] variable
參數a:將variable定義爲數組
參數i:將variable定義爲整型(integer)
參數x:將variable設置成環境變量,類似於export的作用
參數r:variable爲readonly類型,值不能被更改
shell中默認的變量值都是字符串,當需要進行整型計算的時候,用到declare,當然也可以使用該文中講的算數代換
echo $[VAL+1]