Linux編程之變數1:bash變數與變數分類-2
6.位置參數變數
位置參數變數就是bash將傳遞給腳本的參數,按照位置不同,保存在不同的位置變數中,以便於腳本調用這些變數。
shell中的位置參數變數及其作用見下圖:
其中,$n
是最重要的一個位置參數變數。舉個例子,:
#!/bin/bashnum1=$1num2=$2sum=$(($num1 + $num2))echo $sum
將上述代碼保存在test1.sh中,執行結果如下:
需要注意的是,在執行命令時,需要在執行的文件後面加上要運算的數值。執行程序後,程序會把第一個數值38賦給num1,把第二個值33賦給num2,並計算兩個數值的和。
$*
和$@
都代表命令行中的所有參數,只不過$*
是把所有參數看做一個整體,$@
是把每個參數區分對待,而$#
代表命令行中所有參數的個數。
舉個例子:
#!/bin/bashfor i in $* do echo $i donefor i in $@ do echo $i donefor i in $# do echo $i done
將以上代碼保存到test2.sh中,執行結果如下:
$*
循環只返回一行結果,說明該循環只執行了一次,$@
返回6行結果,說明循環執行了6次,而$#
返回了後面參數的個數,循環執行了1次。
7.預定義變數
系統預先定義的變數簡稱為預定義變數,是由系統預先定義的一組變數,這些變數通常用於保存與系統 / 命令等有關的信息。預定義變數由系統自動生成 / 維護,用戶無需修改其值。
常用的預定義變數:
8.read:接受鍵盤輸入
read [選項] [變數名] 選項:
- -p 「提示信息」:在等待read輸入時,輸出提示信息
- -t 秒數:read命令會一直等待用戶輸入,使用此選項可以指定等待時間
- -n 字元數:read命令只接受指定的字元數,就會執行
- -s:隱藏輸入信息的數據,適用於機密信息的輸入
舉個例子:
#!/bin/bashread -p "please input your name: " nameecho -e "
" #換行echo "I know your name is"$name
將以上代碼存入read.sh中,執行結果如下:
推薦閱讀:
※數據挖掘專題 | TCGA數據挖掘如何入門?
※【工具】GSEA分析RNA-seq數據
※生物信息學100個基礎問題 —— 第5題 測序建庫的adapter
※【生信菜鳥經】漫談如何跨越擺在生信入門路上的三大障礙
※【工具】TCGAbiolinks分析TCGA數據(DEA篇)