[Shell]Shell常用特殊符號

來源:互聯網
上載者:User

標籤:style   blog   http   ar   for   sp   strong   on   art   


符合

含義

&&

command1 && command2:命令1返回真(命令返回值 $? == 0)後,命令2才能被執行。可以用於if判斷。

cp 1.txt ../ && echo "succes" #-->success

cp 1.txt ../ && rm -f ../1.txt && echo "success" -->success

||

command1 || command2:命令1返回假(命令返回值 $? == 1)後,命令2才能被執行。可以用於if判斷。

cp 1.txt ../ || echo "fail" #-->fail

cp 1.txt ../ || rm ../1.txt || echo "fail" -->fail

&

command1 & command2 & command3 :3個命令同時執行

command &:comand命令在後台運行,實際上是將命令放入到一個作業隊列中。預設情況下,進程是前台進程,這時就把Shell給佔據了,我們無法進行其他動作,對於那些沒有互動的進程,很多時候,我們希望將其在後台啟動,可以在啟動參數的時候加一個‘&‘實現這個目的。

前後台間切換:可以通過bg <jobid>(background)和fg<jobid>(foreground)命令將其在前後台間狀態切換。

|

管道,上一個的命令輸出作為下一個命令的輸入; 把前面的命令啟動並執行結果丟給後面的命令. 並不是所有的命令都可以的,一般針對文檔操作的命令比較常用,例如cat, less, head, tail, grep, cut, sort, wc, uniq, tee, tr, split, sed, awk等等,其中grep, sed, awk為Regex必須掌握的工具

ls | wc –l -->11

( )

( command1;command2;command3;... ):執行一組命令,命令群組概念,命令自己用;隔開,末尾命令可以不用;隔開,第一個命令與(之間可以沒有空格

( pwd;cd ..;pwd ) #-->/home/robot   /home

[ ]

用於測試命令,可以理解為test命令

if [ "$?" != 0 ]  <==> if test "$?" != 0

$[ ]

整數計算(+-*/%): echo $[2-3] -->1

浮點數計算(+-*/):c=$(echo "0.5/0.5"|bc);echo $c -->1

$(())

對括弧內的運算式求值,

echo $((1+1)) -->2 整數運算+-*/%

{ }

{ command1;command2;command3;... }:執行一組命令, 命令群組概念,命令自己用;隔開,末尾命令也需要;隔開,第一個命令與{之間必須有空格

A=1;echo $A;{ A=2; };echo $A #--> 1 2

A=1;echo $A;( A=2; );echo $A #--> 1 1

(( ))

這組符號的作用與 let 指令相似,用在算數運算上,是 bash 的內建功能

""

雙引號,把它所包含的內容作為一般字元,但單引號‘’,反斜線\,貨幣符號$,反單引號``除外

a=1;echo "1+$a";-->1+1

a=1;echo "1+‘$a‘";-->1+‘1‘

a=1;echo "1+$‘a‘";-->1+$‘a‘

echo "\$a";->$a

‘‘

單引號,把它所包含的內容作為一般字元,無例外

a=1;echo ‘1+$a‘;-->1+$a

``

反單引號(與~同一鍵),`command`與$(command)的含義相同,都是返回當前執行命令的結果
命令替換,命令替換是指Shell可以先執行命令,將輸出結果暫時儲存,在適當的地方輸出。

p=`pwd`;echo $p; -->/home

\

逸出字元, 把符號(eg:*|&)的特定含義去掉,使其變成普通標點符號

;

;分號:在 shell 中,擔任"連續指令"功能的符號就是"分號"

command1;command2;command3:不管前面的命令執行成功與否,後面的命令繼續執行

;;

連續分號:專用在 case 的選項,擔任 Terminator 的角色

#

#井號:注釋

!

通常它代表反邏輯的作用,如條件判斷中,用 != 來代表"不等於"

?

代表任意一個字元

*

代表零個或多個字元或數字

**

次方運算

echo $((2**3)) –>8

$

變數取值

a=1;echo $a;-->1

 

 

 

 


$的擴充符號


[Shell]Shell常用特殊符號

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.