Linux學習之shell腳本

第一行:#!/bin/bash  --> #! 標記腳本的解釋器

腳本: #!/bin/bash

    echo "hello world"

賦予執行權限 chmod +x ./test.sh

執行腳本:./test.sh

定義變量時不需要 $ 符號 :td='date "+%y%m%d"'

1.變量名和符號之間不能有空格
2.首個字符必須爲字母
3.中間不能有空格,可以使用劃線(_)
4.不能使用標點符號和 bash 中的關鍵字

除了顯示賦值,還可用語句直接給變量賦值

for file in 'ls /etc' 將 /etc目錄下的文件名循環出來

使用一個定義過的變量,只需在變量名前加上 $ 符號即可 echo $td 或 echo ${td}

對同一個變量名,可以進行二次賦值 eg: td='date "+%m%d"'

只讀變量:readonly 定義變量爲只讀變量,變量值不可更改

url="http://www.baidu.com"

readonly url

url="http://www.tx.com" --> 報錯

刪除變量: unset variable_nae,不能刪除只讀變量

shell存在三種變量:①局部變量:腳本或命令中定義,僅在當前腳本有效
          ②環境變量:所有程序有效
          ③shell變量:由shell程序設置的變量,有局部也有環境

單引號字符串中不能有變量,不能做字符轉義,雙引號可以實現。

your_name="world"

拼接字符串 greeting="hello,${your_name} !" 

獲取字符串長度 ${#greeting} 

提取1—4的字符串,下標從0開始 ${#greeting:1:4} 

查找字符串 $(expr index "${greeting}" world)

反引號用於命令替換:td=`date "+%y%m%d"` 等同於 $(date "+%y%m%d")

./test.sh 1 2 3

執行的文件名:$0  --> ./test.sh

第一個參數爲:$1  --> 1

第二個參數爲:$2  --> 2

第三個參數爲:$3  --> 3

參數的個數爲:$# --> 3

腳本運行的當前進程ID:$$ -->8010

顯示所有傳遞的參數:$*  -->1 2 3

$* 與 $@ 的區別:$* 等價於 “1 2 3” ,相當於傳遞了一個參數,$@ 等價於 “1” “2” “3” 相當於傳遞了三個參數

shell數組:array_name=(value1 ... valuen) --> my_array=(A B "C" D)

讀取數組元素:${array_name[index]}

獲取所有數組元素: ${array_name[*]} 或 ${array_name[@]} 

獲取數組長度: ${#array_name[*]} 或 ${#array_name[@]} 

Shell 基本運算符:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章