環境變數_

環境變數_

我在命令列中發送 printenv 命令,我看到其中一個變數如下:

_=/usr/bin/printenv

我現在這樣做:

mo@mo-Toshiba ~/Workspace $ printenv _
/usr/bin/printenv

但是當嘗試對此變數呼叫 echo 時,我得到以下資訊:

mo@mo-Toshiba ~/Workspace $ echo $_
_

是什麼賦予了?為什麼 echo 不將其視為變數? (即像 $PATH 或 $PWD)

答案1

它是一個變數。這外殼變數_每次執行命令時 shell 都會更新它以包含上一個命令的最後一個參數。

它並不經常有用,但它允許您編寫別名或函數來對「與最後一個命令相同的檔案(或其他物件)」執行某些操作。

該變數也被加入到子流程的環境中。在那裡,它包含在 shell 中傳遞的命令的名稱(在PATH查找之前)。

相關內容