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篇)

TAG:生物信息學 | Linux入門 | Shell編程 |