開發第六天shell學習1-約定、變量、字符串、數組、註釋

參考https://www.runoob.com/linux/linux-shell-variable.html
1、Shell 是一個用 C 語言編寫的程序,本章背景shell script,Bourne Again Shell

#! 是一個約定的標記,它告訴系統這個腳本需要什麼解釋器來執行

2、shell 變量:變量名和等號之間不能有空格

運行shell時,會同時存在三種變量:

  1. 局部變量 局部變量在腳本或命令中定義,僅在當前shell實例中有效,其他shell啓動的程序不能訪問局部變量。
  2. 環境變量
    所有的程序,包括shell啓動的程序,都能訪問環境變量,有些程序需要環境變量來保證其正常運行。必要的時候shell腳本也可以定義環境變量。
  3. shell變量
    shell變量是由shell程序設置的特殊變量。shell變量中有一部分是環境變量,有一部分是局部變量,這些變量保證了shell的正常運行

定義:

  • 命名只能使用英文字母,數字和下劃線,首個字符不能以數字開頭。
  • 中間不能有空格,可以使用下劃線(_)。
  • 不能使用標點符號。
  • 不能使用bash裏的關鍵字(可用help命令查看保留關鍵字)。

顯式命名: var =start_shell123
語句命名: for file in ls /etc 或 for file in $(ls /etc) 將 /etc 下目錄的文件名循環出來。

使用:

$var或者${var}

只讀加readonly : readonly var

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

3、字符串
str=’’;"";不用引號

單引號’’:

  1. 單引號裏的任何字符都會原樣輸出
  2. 單引號字符串中的變量是無效的
  3. 單引號字串中不能出現單獨一個的單引號(對單引號使用轉義符後也不行),但可成對出現,作爲字符串拼接使用

雙引號""

  1. 雙引號裏可以有變量
  2. 雙引號裏可以出現轉義字符

獲取字符串長度#

str=abc echo ${#str} 輸出3

提取子字符串

str=abc echo ${str:0:1}輸出st

4、數組,可以不使用連續的下標,而且下標的範圍沒有限制。

數組名=(值1 值2 ... 值n) 元素間用空格符號分割開

例:
array_name=(value0 value1 value2 value3)或
array_name=(
value0
value1
value2
value3
)

讀取數組

${array_name[3]} 輸出value3
${array_name[@]} 輸出全部

獲取數組的長度 # 用法同上

5、註釋
註釋單行
#
註釋多行

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