變量類型:
① 字元型
② 數值型
③ 整數型
④ 浮點型
⑤ 布爾型
邏輯運算:1表示真,0表示假
與:&& and
或:|| or
非:!
異或:
Shell屬于弱類型程式設計語言——資料類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同資料類型的值。
Bash變量類型:
① 環境變量
② 本地變量
③ 位置變量
④ 特殊變量
本地變量:
引用本地變量${abc}時花括号有時可以省略。若變量後緊跟着其他字元,如${ABC}S,則不能省略。
變量的指派方式:
本地變量:VAR=VALUE作用域為整個bash程序
局部變量; local VAR=VALUE作用域為目前代碼段
環境變量: export VAR=VALUE 作用域為目前shell程序及其子程序
腳本在執行時會啟動一個子shell程序,指令行中啟動的腳本會繼承目前shell環境變量,
如果是系統自動執行的腳本(非指令行啟動),就需要自我定義需要的各環境變量
位置變量:$1,$2…
特殊變量:
$0 腳本名字
$NUM 位置參數(從10開始,位置參數應該寫成${10})
$# 位置參數的個數
$* 所有位置參數(作為當個字元串)
$@ 所有位置參數(每個作為單獨的字元串)
${#*} 傳遞到腳本中指令行參數的個數
${#@} 傳遞到腳本中指令行參數的個數
$? 上個指令的退出狀态碼,0-255,0為正确,1、2、127為系統預留
$- 傳遞到腳本中的辨別(使用set)
$_ 之前指令的最後一個參數
$! 運作在背景的最後一個作業的程序ID(PID)
檢視目前shell中的變量: set
檢視目前shell中的環境變量:printevn、evn、export
!# 上一個指令名