shell中命令的執行流程

2021-08-21 21:19:40 字數 991 閱讀 6665

在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中直接在命令列...