shell 筆記

屁哥95發表於2020-11-29

// 定義變數
A=1 不能有空格
// 撤銷變數
unset A
// 宣告靜態變數 注意:不能unset
readonly B=9
//變數命名規則
字母,數字,下劃線組成,不能以數字開頭,環境變數建議全大寫
// 提升變數為全域性變數
export B
// 特殊變數
1 $n $0 檔名 $1- 9 傳 入 腳 本 的 參 數 超 過 10 的 用 9 傳入指令碼的引數 超過10的用 910{10}
2 $# 獲取輸入引數個數
3 $* 代表命令列中所有引數,把引數看成一個整體
4 $@ 代表命令列中所有引數,把每個引數區別對待
5 $? 最後一次執行命令的返回狀態,0 正確執行,非0則執行錯誤
//運算子
$((運算式)) 或者 $[運算式]
expr + - * / % 運算子要有空格
// 條件判斷
= 字串比較 -lt 小於 -le 小於等於
-eq 等於 -gt 大於 -ge 大於等於 -ne 不等於
檔案許可權判斷
-r 讀 -w 寫 -x 執行 -e 檔案存在
-f 檔案存在且是常規檔案 -d 檔案存在且是目錄
[ 23 -ge 22 ] 必須有空格
// 流程控制
if 後面必須有空格
if [ $1 -eq 1 ]
then
echo “adasdas”
elif [ $1 -eq 2 ]
then
echo “23444”
fi
case 語句
case $1 in
1)
echo “adasdas”
;;
2)
echo “23444”
;;
*)
echo “上面都不滿足”
;;
esac

for 迴圈

s=0
for((i=1;i<=100;i++))
do
s= [ [ [s+$i]
done
echo $s

for i in $*
do
echo $i
done

while 迴圈
s=0
i=1
while [ i − l e 100 ] d o s = i -le 100 ] do s= ile100]dos=[ s + s+ s+i]
i= [ [ [i+1]
done
echo $s

相關文章