Unix各種括號的用法總結
各種括號的用法總結如下
1.Shell中變數的原形:${var}
大家常見的變數形式都是$var
2.命令替換$(cmd)
命令替換$(cmd)和符號`cmd`(注意這不是單引號,在美式鍵盤上,`是ESC下面的那個鍵)有相同之處
3.一串的命令執行()和{}
()和{}都是對一串的命令進行執行,但有所區別:
A,()只是對一串命令重新開一個子shell進行執行
B,{}對一串命令在當前shell執行
C,()和{}都是把一串的命令放在括號裡面,並且命令之間用;號隔開
D,()最後一個命令可以不用分號
E,{}最後一個命令要用分號
F,{}的第一個命令和左括號之間必須要有一個空格
G,()裡的各命令不必和括號有空格
H,()和{}中括號裡面的某個命令的重定向隻影響該命令,但括號外的重定向則影響到括號裡的所有命令
4,幾種特殊的替換結構:${var:-string},${var:+string},${var:=string},${var:?string}
5.POSIX標準的擴充套件計算:$((exp))
這種計算是符合C語言的運算子,也就是說只要符合C的運算子都可用在$((exp)),甚至是三目運算子和for語句。
注意:這種擴充套件計算是整數型的計算,不支援浮點型.若是邏輯判斷,表示式exp為真則為1,假則為0。
6.四種模式匹配替換結構:${var%pattern},${var%%pattern},${var#pattern},${var##pattern}
這四種結構的意義是:${var%pattern}和${var%%pattern}表示從最右邊(即結尾)匹配的,${var#pattern} 和${var##pattern}從最左邊(即開頭)匹配的。其中${var%pattern}和${var#pattern}是最短匹配,${var%%pattern}和${var##pattern}是最長匹配。只有在pattern中使用了萬用字元才能有最長最短的匹配,否則沒有最長最短匹配之分。
7.[ 和 [[
$ type [ [[ test
[ is a shell builtin
[[ is a shell keyword
test is a shell builtin
各種引號的用法總結如下
1、 單引號 ‘
由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。
2、 雙引號 “
由雙引號括起來的字元,除$、\、’、和”這幾個字元仍是特殊字元並保留其特殊功能外,其餘字元仍作為普通字元對待。對於$來說,就是用其後指定的變數的值來 代替這個變數和$;對於而言,是跳脫字元,它告訴shell不要對其後面的那個字元進行特殊處理,只當作普通字元即可。可以想見,在雙引號中需要在前面加 上的只有四個字元$,,’和”本身。而對”號,若其前面沒有加,則Shell會將它同前一個”號匹配。
3、 反引號 `
反引號(`)這個字元所對應的鍵一般位於鍵盤的左上角,不要將其同單引號(’)混淆。反引號括起來的字串被shell解釋為命令列,在執行時,shell首先執行該命令列,並以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。
本篇文章來源於 Linux公社網站() 原文連結:http:///Linux/2011-02/32559.htm
1.Shell中變數的原形:${var}
大家常見的變數形式都是$var
2.命令替換$(cmd)
命令替換$(cmd)和符號`cmd`(注意這不是單引號,在美式鍵盤上,`是ESC下面的那個鍵)有相同之處
3.一串的命令執行()和{}
()和{}都是對一串的命令進行執行,但有所區別:
A,()只是對一串命令重新開一個子shell進行執行
B,{}對一串命令在當前shell執行
C,()和{}都是把一串的命令放在括號裡面,並且命令之間用;號隔開
D,()最後一個命令可以不用分號
E,{}最後一個命令要用分號
F,{}的第一個命令和左括號之間必須要有一個空格
G,()裡的各命令不必和括號有空格
H,()和{}中括號裡面的某個命令的重定向隻影響該命令,但括號外的重定向則影響到括號裡的所有命令
4,幾種特殊的替換結構:${var:-string},${var:+string},${var:=string},${var:?string}
5.POSIX標準的擴充套件計算:$((exp))
這種計算是符合C語言的運算子,也就是說只要符合C的運算子都可用在$((exp)),甚至是三目運算子和for語句。
注意:這種擴充套件計算是整數型的計算,不支援浮點型.若是邏輯判斷,表示式exp為真則為1,假則為0。
6.四種模式匹配替換結構:${var%pattern},${var%%pattern},${var#pattern},${var##pattern}
這四種結構的意義是:${var%pattern}和${var%%pattern}表示從最右邊(即結尾)匹配的,${var#pattern} 和${var##pattern}從最左邊(即開頭)匹配的。其中${var%pattern}和${var#pattern}是最短匹配,${var%%pattern}和${var##pattern}是最長匹配。只有在pattern中使用了萬用字元才能有最長最短的匹配,否則沒有最長最短匹配之分。
7.[ 和 [[
$ type [ [[ test
[ is a shell builtin
[[ is a shell keyword
test is a shell builtin
各種引號的用法總結如下
1、 單引號 ‘
由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。
2、 雙引號 “
由雙引號括起來的字元,除$、\、’、和”這幾個字元仍是特殊字元並保留其特殊功能外,其餘字元仍作為普通字元對待。對於$來說,就是用其後指定的變數的值來 代替這個變數和$;對於而言,是跳脫字元,它告訴shell不要對其後面的那個字元進行特殊處理,只當作普通字元即可。可以想見,在雙引號中需要在前面加 上的只有四個字元$,,’和”本身。而對”號,若其前面沒有加,則Shell會將它同前一個”號匹配。
3、 反引號 `
反引號(`)這個字元所對應的鍵一般位於鍵盤的左上角,不要將其同單引號(’)混淆。反引號括起來的字串被shell解釋為命令列,在執行時,shell首先執行該命令列,並以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。
本篇文章來源於 Linux公社網站() 原文連結:http:///Linux/2011-02/32559.htm
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22661144/viewspace-1412889/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux Shell中各種括號用法總結!Linux
- Shell 括號總結
- 前端各種迴圈用法總結前端
- JavaScript中圓括號()和方括號[]的一個特殊用法JavaScript
- 萬用字元 and [] 中括號的用法字元
- Python中各種括號的區別、用途及使用方法Python
- 程式猿的年終總結,各種版本各種殘
- js中大括號{}的用法簡單介紹JS
- css各種佈局總結CSS
- js各種驗證總結JS
- oracle 各種遷移總結Oracle
- iOS 總結遇到的各種坑兒iOS
- 理解正規表示式中的括號 (),方括號 [] 和大括號 {}
- restore archivelog 的各種用法RESTHive
- restore archivelog 的各種用法RESTHive
- 各種符號的英文符號
- LaTeX中各種常用盒子的使用總結
- Android Intent的幾種用法全面總結AndroidIntent
- Guava Preconditions類的各種用法Guava
- c++const的各種用法C++
- caffe中各種cblas的函式使用總結函式
- 關於Android中各種尺寸的總結Android
- 一張圖看懂 SQL 的各種 join 用法SQL
- Django model update的各種用法介紹Django
- unix/aix下各種包解壓縮的方法AI
- 總結iOS 8和Xcode 6的各種坑iOSXCode
- Http協議中的各種長度限制總結HTTP協議
- 移動平臺各種路勁總結
- 各種平臺解壓壓縮總結
- 從request獲取各種路徑總結
- Maven-POM中的各種scope的行為總結Maven
- 資料結構括號匹配問題資料結構
- c++物件建立帶括號與無括號的區別C++物件
- type的用法總結
- sqlldr的用法總結SQL
- 史上最全的iOS各種裝置資訊獲取總結iOS
- Django model select的各種用法詳解Django
- 各種SmartPhone上的跨平臺開源框架的總結框架