1. 程式人生 > >Linux附加知識---shell命令直譯器詳解(Terminal命令是如何執行的?)

Linux附加知識---shell命令直譯器詳解(Terminal命令是如何執行的?)

一、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:自己的目錄