shell學習之 特殊字元

2021-04-13 21:16:05 字數 2184 閱讀 5377

shell中的特殊字元

;分隔符號,用來表示一行執行多條命令

echo hello; echo there

if [ -f "$file" ]; then

cd "$file"

fi;;

case 的選項終止符

ex:case "$var" in

1) echo "1=$var" ;;

2) echo "2=$var" ;;

esac

.1)相當於source命令

2)檔名第乙個字元,變檔案可見為隱藏

3)做目錄時,表示當前目錄

ex:cd .

4)在正規表示式中,匹配單個字元

"部分引用."string"阻止了一部分特殊字元

'全引用. 'string' 阻止了全部特殊字元

,在算數運算中和c語言的逗號作用相似

ex:let "t2=((a=4, 5/3))"     #t2=5/3

/1)轉義字元,相當於''或""

2)用來表示一行還沒有結束

/1)路徑分隔符或除法運算子

2)在sed中用來表示乙個單詞的結束

`後置引用。由於命令替換

:1)與true命令相同,表示什麼都不幹

ex1:

if [***]

then :                      #什麼都不作,為了引出下面的分支

else

echo "test :"

fiex2:

while :                      #相當於while true

doecho "test :"

done

2)作為/etc/passwd和$path字元間的分隔符

!取反操作符

^1)sed,grep中表示行首

sed -e '/^$/ d' filename  #刪除空白行

2)在正規表示式中表示取反

grep '^[^ad]' filename      #輸出行首不是字母a或者d開頭的行

*1)檔名或正規表示式中(但這兩者卻是不同的)的萬能匹配符

2)數學乘法

**乘法密運算

?1)在正規表示式中表示單個字元的匹配

$1)變數替換

ex:var=8

echo $var   #8

2)正規表示式中的行結束符

sed -e '/^$/d' filename #刪除檔案中的空被行

${}引數替換,見9.3節.

$()用來進行命令的執行,相當於``

$*,$@

所有的位置引數,被作為乙個單詞.

注意:"$*"和"$@"必須被""引用.

$#表示引數的個數,注意引數的個數不包含命令本身在內

test.sh a b c

echo "$#"          #輸出的結果是3

$?退出狀態變數.$?儲存乙個命令/乙個函式或者指令碼本身的退出狀態.

$$程序id變數.這個$$變數儲存執行指令碼程序id

()1)命令組     ex: (echo "1"; echo "2" )

2)陣列初始化  ex:  array=(1,2,3,4)

說明:它的命令會在子shell中執行,所以其內部的變數對於外面是不可見的

{}1)**塊

cp file22.

# 拷貝"file22.txt" 到"file22.backup"中

5)變數內部替換

ex:a=1122

b=$    #b=gg22

1)用於test的表示式中   if [ -x "$file" ]; then  **** fi;

2)陣列元素     array[1]=1; echo $

3)正規表示式時的匹配字元的乙個範圍:

(())

一般是用於數學計算

可以進行算數運算並返回乙個邏輯的值

與函式的{}不同的是,該括號裡宣告的變數對於外部**來說還是可見的。

2)**塊的操作

ex: > "$test"

3){} /;

find 的命令的後來的部分。注意";"是find 命令的結束。

4)大括號擴充套件,如:

cat > combined_file

# 把file1,file2,file3連線在一起,並且重定向到combined_file中.

SHELL特殊字元

字元含義 1 通常用於注釋,通常 前後留乙個空格 2 某些模式匹配如sed,數值常量表示式 及引數替換 中也使用 命令分割符,允許單行寫多個的命令,例 echo var1 echo var2 case 的選項結尾符 1 等同與source命令,載入指令碼檔案,可理解為python的import 2 ...

shell特殊字元

這篇博文記錄平時工作,shell中讓人犯迷糊的特殊字元。shell中特殊字元挺多,不適合花太多精力去蒐集 整理,我的想法是遇到了便總結下來,寫到這篇文件中,慢慢積累。百分號在計算公式裡可以取餘,這個就不說了。這裡記錄的是,可以按照模板對原字串進行擷取。舉例如下 root timmy scripts ...

Shell命令特殊字元

shell命令特殊字元 注釋 後台執行 把執行結果輸入到乙個指定的檔案中 把執行結果附加到乙個以存在的檔案後面 表示當前目錄 表示上一級目錄 最後一次執行的命令的返回碼 shell程序自己的pid shell程序最近啟動的後台程序的pid 命令列引數的個數 0 指令碼檔案本身的名字 1 2 第乙個,...