Linux附加知識---shell命令直譯器詳解(Terminal命令是如何執行的?)
阿新 • • 發佈:2018-12-21
一、shell命令直譯器
1.概念:一種應用程式,用於接受shell命令
二、shell命令執行流程
1.例如我們在Terminal中輸入pwd命令
- ①輸入pwd命令並回車,此命令會傳送給一個應用程式==>shell程式
- ②根據命令字串去找命令(去哪找?如果沒有指定路徑的話,在預設的環境變數path中找。指定路徑就在指定路徑中找)
- ③找到命令後啟動此命令,實現相應功能
- 重點(命令本質上也是一個可執行的應用程式):例如 ls /home/book(後面的/home/book作為一個引數傳遞給前面的ls應用程式,然後執行相應功能)
2.附加: 命令找不到或可不執行原因
- 在環境變數或者指定目錄中找不到該命令的應用程式
- 沒有該應用命令的執行許可權
三、在環境變數中新增自己的命令
1.目的:因為命令是一種可執行程式,因此我們可以將自己設定的命令所在的目錄新增進環境變數中,這樣就可以執行自己設定的命令
2.方法(一般分為4個步驟:新增環境變數、建立自己的命令、加上可執行許可權、執行命令)
- ①新增環境變數:export PATH=$PATH:/home/book
- ②建立命令:touch pwdabc
- ③加上可執行許可權:chmod +x pwdabc
- ④執行命令:pwdabc
幾點注意:
- 為什麼要加上可執行許可權:建立的新命令在第一執行的時候可能會出錯顯示(Permission denied:沒有可執行許可權)
四、附加知識
- 檢視環境變數:echo $PATH
- 新增環境變數:export PATH=$PATH:自己的目錄