在shell中,乙個命令有3中寫法:
1 可以直接寫(normal command)
2 可以放在雙引號中("command")
3 可以放在單引號中('comand')
這3中寫法,命令的執行流程也是不一樣的,如下圖所示:
由pipe characte(|)分割command
shell指令碼中,每一行文字稱為乙個pipeline,每乙個pipeline由0個或者多個pipe character(|)連線,shell處理的第一步就是將pipeline分割成多個command分別進行處理
ralias替換
將alias替換成真正的命令,比如將ls替換成ls --color=auto
brace替換
將ae替換成abe,ace
~替換
將~替換成home目錄
變數替換
將$開頭的變數替換為其真正的值
執行替換命令
即執行$(command)或者`command`
執行算數表示式
即執行$(( 1 + 3 ))
glob擴充套件
比如將a/*擴充套件成a/b a/c
command查詢
按照優先順序,查詢:
1 function
2 built-in
3 $path中的指令碼和可執行程式
從上圖中可以看到,放在單引號中的命令執行流程最為簡單,直接查詢命令,然後執行,而放在雙引號中的命令會進行變數替換,執行命令替換,執行算數表示式,然後才查詢命令執行。
shell中命令的執行流程
在shell中,乙個命令有3中寫法 1 可以直接寫 normal command 2 可以放在雙引號中 command 3 可以放在單引號中 comand 這3中寫法,命令的執行流程也是不一樣的,如下圖所示 由pipe characte 分割command shell指令碼中,每一行文字稱為乙個pi...
PHP執行普通shell命令流程解析
這裡演示一些普通的shell命令 php執行shell命令,可以使用下面幾個函式 string syst string command int return程式設計客棧 var string exec string command a程式設計客棧rray output int return var ...
vim中執行shell命令
1.在使用vim的過程中,不退出vim執行shell命令,直接在命令模式下面輸入感嘆號 和要執行的命令即可。例如 執行ls命令,則直接輸入 ls即可 2.在命令列中,百分號 是特殊字元,為檔案的路徑名稱,比如我們當前編輯的python指令碼,我們可以不退出vim直接執行它。3.在vim中直接在命令列...