一、命名語法
一條bash指令的的命名一般包含三個部分:command(指令);option(選項);argument(引數)。
命名的格式為:command option argument。
ls -l -f file1 file2 file3
-l:以單行格式輸出檔案詳細資訊
-f:在每個輸出項後面追加檔案的型別識別符號,具體含義包括:
「*」表示具有可執行許可權的普通檔案;
「/」表示目錄。「@」表示符號鏈結;
「|」表示命令管道fifo;
「=」表示sockets套接字;
當檔案為普通檔案時,不輸出任何的字元。
選項
對於選項(option)型別有兩種:
1)短選項(short option):由乙個連字元和乙個字母構成,例如:-a, -s等;2)長選項(long options):由兩個連字元和一些大小寫字母組合的單詞構成,例如:--size,--help等
通常,乙個程式會提供short option和long options兩種形式,例如:ls -a,--all。另外,短選項(short option)是可以合併的,例如:-sh表示-s和-h的組合,如果要表示為乙個選項需要用長選項--sh。
不是所有的linux命令都遵循以上的規則,例如:
find -type d -mindepth 2
引數
1、可以是零個或者多個:有預設值;不需要引數。
2、可以是乙個或者多個。
二、語法的描述規則
1、方括號中的項是可選的;
2、不在方括號中或者是在大括號中的項是必選的;
3、黑體字必須按原樣準確鍵入;
4、斜體字必須使用適當的值代替;
5、後面接省略號的引數可以多次重複。
如:
ls [abcdefghloiu@abcdefghlkj][file...]
6、如果乙個單獨的選項和乙個引數組合在一起,那麼該選項和引數必須同時使用,如:
find [-h][-l][-p][-d][-d debugopts][-o level][path...][expression]
7、由|(豎線)字元分開的兩個或者多個項,表示可以從這個列表中選擇乙個項,如:
who [option]...[file|arg1 arg2]
三、一次輸入多條命令
1、以」;「隔開時,如:
date;calcal;date
注:當前者執行失敗時,後者就不會執行
2、以「||」隔開時,如:
date||calcal||date
注:當前者執行失敗時,後者才會執行
四、強引用和弱引用
1、弱引用 ""
echo "lucky number is $"輸出的結果為:
lucky number is 12324(隨機數)
2、強引用 ' '
echo 'lucky number is $'輸出的結果為:
lucky number is $
為了弄清楚引起這兩種引用的差異的原因。我們需要去了解命令列解析的相關知識。
命令列解析
命令列的解析過程:
1、根據$(internal filed separator)將其拆分為多個欄位word;
2、對其中的(metacharacter)元字元進行處理;
3、對命令進行重組並執行。
補充:元字元包括
|:管道 ...:省略
:界定變數範圍
強引用' '內的所有meta元字元被關閉;
弱引用" "內的大部分meta元字元被關閉,部分被保留,如$,等。
關於強引用和弱引用的小練習:
$ a="b c"$ echo "$a" 輸出b c
$ echo '$a' 輸出$a
$ echo " '$a' " 輸出'b c'
$ echo ' "$a" ' 輸出"$a"
$ echo ' '$a' ' 輸出b c
Nginx Location 指令語法解析
本文翻譯自 www.keycdn.com support ngi nginx location是使用 nginx 的過程中必須要掌握的技能,無論是在server blocks還是其他location blocks中都會用到,這篇文章簡單介紹了當請求來臨時location指令是如何處理客戶端uri請求...
Dockerfile FROM指令 語法解析
凡是編寫dockerfile,幾乎開始都會是from命令,它決定了dockerfile構建出的映象為何物,本文就來了解一下from的語法 語義以及對應的示例。語法 from platform as from platform as from platform as 語義1.from指令開始乙個新的構...
Dockerfile RUN指令 語法解析
docker通過dockerfile建立映象時,run和cmd是相當重要的命令,本文對這run指令進行解析。run 語法 shell形式,命令在shell中執行,預設情況下,linux是 bin sh c windows是cmd s c run exec形式.run executable param...