Shell

詳細更改目錄?

  • December 14, 2019

我正在將 bash 腳本中執行的每個操作記錄到日誌文件中。我想cd詳細更改目錄,以便將輸出記錄到日誌中。

有點像這樣:

iMac:~ leetbacoon$ cd -v /new\ path
cd: /Users/leetbacoon -> /new path
iMac:new path leetbacoon$

可悲的是cd缺少詳細的標誌。關於如何讓這樣的事情發揮作用的任何想法?

您可能會發現 shell $OLDPWDshell 變數很有用(由 POSIX 定義)。例如,您可以定義一個覆蓋原始 cd命令的 shell 函式:

cd() { command cd "$@" && printf '%s -> %s\n' "${OLDPWD}" "${PWD}"; }

您應該閱讀Unix手冊頁的摘錄:

如果在上述步驟的執行過程中設置了環境變數PWD,則OLDPWD環境變數也應設置為舊工作目錄的值(即呼叫之前的目前工作目錄cd)。

引用自:https://unix.stackexchange.com/questions/557154