1. #
注釋作用, #! 除外
此外, 在參數替換 echo ${PATH#*:} 這里不表示注釋, 數制轉換, 不表示注釋 echo $((2#101011))
2. ;
命令行分隔符, 可以在一行中寫多個命令. echo hello; echo there
3. ;;
終止 case 選項
雙引號, 單引號, 其中雙引號中可以引用變量, 而單引號中不行, 它們的作用是組織特殊字符
6. /
轉義字符
7. /
文件名分隔符, 除法操作
8. ` (Esc 下邊的按鈕)
后置引用, 命令替換
9. :
空命令, 等價于 “NOP”
也可被認為是 shell 內建命令 true 作用相同, 例如: 死循環
then : # 什么都不做, 引出分支
else
do other thing
fi
在一個 2 元命令中提供一個占位符.
在和 >(重定向操作符)一起使用時, 清空文件, 并沒有修改文件的權限, 例如: (如果文件不存在, 將會創建文件)
: > data.log 等同于
cat /dev/null > data.log
10. !
取反操作符 != 不等于
11. *
萬能匹配符, 正則表達式中
數學乘法
** 冪運算
12. ?
測試操作
正則表達式中, ? 匹配任意單個字符
13. $
變量符號
正則表達式中 行結束符
${} 參數替換
$*,$@ 位置參數
$? 退出狀態
$$ 進程ID
14. ()
命令組, (a=hello; echo $a), 在 () 中的命令列表將作為一個子 shell 來運行. 在() 中的變量, 由于在子shell中, 所以對于腳本剩下的部分是不可用的.
數組初始化: array=(element1, element2, element3)
15. {xxx,yyy,zzz}
大括號擴展
cat {file1,file2,file3} > combined_file, 將file1,file2,file3合并在一起并重定向到commbined_file中. 大括號中不能有空格
16. {}
代碼塊. 事實上, 這個結構創建了一個匿名的函數. 但是與函數不同的是, 在其中聲明的變量, 對于腳本的其他部分的代碼來說還是可見的.
1: #!/bin/bash
2:
3: File=/etc/fstab
4:
5: # 在這個代碼塊中的變量, 外部也可以訪問
6: {
7: read line1
8: read line2
9: } < $File
10:
11: echo "First line in $File is"
12: echo "$line1"
13: echo
14: echo "Second line in $File is"
15: echo "$line2"
16:
17: exit 0
# 將一個代碼塊的結果保存到文件
17. {}/;
路徑名, 一般都是在 find 命令中使用, 注意; 用來結束find 命令序列的
主站蜘蛛池模板:
措勤县|
兴城市|
洞口县|
祁连县|
秦皇岛市|
图片|
广宁县|
崇左市|
客服|
望江县|
巍山|
民勤县|
阳春市|
洞口县|
营山县|
潮州市|
东平县|
西华县|
克东县|
大宁县|
青冈县|
宁晋县|
望都县|
鹤庆县|
梧州市|
富川|
会东县|
锡林浩特市|
桐梓县|
屏南县|
香河县|
宁化县|
民乐县|
新晃|
长治县|
台南市|
班玛县|
辽中县|
庆城县|
广灵县|
沭阳县|