標籤:source 關鍵字 運算式 單引號 雙引號
bash是強大的指令碼語言,在眾多的Linux發生版中也是預設的shell,支援變數和特殊字元,下面就來看看它有哪些特殊字元:
; 命令分隔字元,可以在一行中寫多個命令
;; 終止case選項
. shell內建命令,等同於source,
. 作為檔案名稱的一部分,如果是首碼,則表示為隱藏檔案
. 字元匹配,在Regex中表示單個字元
" 雙引號,弱引用,可以實現變數
‘ 單引號,強引用,引用字元本身
\ 逸出字元
` 後置引用,命令替換
: 空命令,就是什麼都不幹,在指令碼中: > a.txt 等同於 cat /dev/null > a.txt
! 取反操作符,shell關鍵字
* 任意字匹配,在算術運算中**是冪運算
${} 引用變數
$? 退出狀態變數
$# 在bash指令碼中表示參數的個數
$* [email protected] 在bash指令碼中表示參數的列表
$0 指令碼名稱
() 命令組:如:(a=3;echo $a),注意在()中的變數,其使用範圍僅限於()內並且產生子shell運行
{a,b} 大括弧擴充,如 cat {a.txt,dns.sls} > c.txt
[] test的運算式,在Regex中表示字元匹配的範圍
(()) 資料計算的擴充
> 標準輸出重新導向
2> 錯誤輸出重新導向
&> 重新導向所有輸出
< 輸出重新導向
|| 或,邏輯操作
&& 與,邏輯操作
{} 代碼塊,這個結構建立了一個匿名的函數,但和函數不同的是,其中聲明的變數對指令碼的其它部分來說,是可見的。
如:
#!/bin/bash
a=5
{ a=123; }
echo $a #a=123 說明代碼塊中對變數a的修改,影響了外邊的變數a
- 用於重新導向stdin或stdout,如:ls /root | cat - 或 grep ‘c‘ a.txt | diff c.txt -
^ 表示定位到行首
本文出自 “一萬年太久,只爭朝夕” 部落格,請務必保留此出處http://zengwj1949.blog.51cto.com/10747365/1916402
shell之特殊字元