腳本中變量賦值和獲取腳本參數的方法
- 一:變量的賦值
- 1:常見的變量聲明和賦值
- 首先是變量的聲明:
- linux的腳本中使用變量可以不用先聲明,而可以直接使用
- 不過如果聲明一個變量可以使用declare
- declare -i n :聲明一個整型的變量n
- declare -a n :聲明一個數組n
- declare -x n :聲明一個環境變量n(用法同export)
- 對變量的賦值採用 variable=value的方式進行。
- 2:在腳本中除了傳統的方式賦值之外還可以這樣子
- ${variable:=value}:如果變量variable的值存在,使用variable本身的值,如果變量variable的值爲空,則將value賦值於variable
- ${variable:-value}:如果變量variable的值存在,使用variable本身的值,如果變量variable的值爲空,則將value展開(而非賦值於variable)
- ${variable:?value}:如果變量variable的值存在,使用variable本身的值,如果變量variable的值爲空,則顯示value(而非賦值於variable)
- ${variable:+value}:如果變量variable的值存在,則顯示value,如果變量variable的值爲空,則不做任何操作。
- 二:獲取腳本執行的參數個數
- 例如 ./test a
- ./test a b
- ./test a b c 等等
- 要想獲取 ./test 後面的參數個數可以通過$# 獲取
- 比如下面的一個簡單的腳本 judge_scripts_parameter.sh
- #!/bin/bash
- if [ $# = 1 ]; then
- echo "your parameter is one"
- elif [ $# = 2 ];then
- echo "your parameter is two"
- elif [ $# = 3 ];then
- echo "your parameter is three"
- else
- echo "your parameter is too much"
- fi
- 結果如下:
- [root@localhost scripts]# ./judge_scripts_parameter.sh
your parameter is too much
[root@localhost scripts]# ./judge_scripts_parameter.sh a
your parameter is one
[root@localhost scripts]# ./judge_scripts_parameter.sh a b
your parameter is two
[root@localhost scripts]# ./judge_scripts_parameter.sh a b c
your parameter is three