Shell
詳細更改目錄?
我正在將 bash 腳本中執行的每個操作記錄到日誌文件中。我想
cd
詳細更改目錄,以便將輸出記錄到日誌中。有點像這樣:
iMac:~ leetbacoon$ cd -v /new\ path cd: /Users/leetbacoon -> /new path iMac:new path leetbacoon$
可悲的是
cd
缺少詳細的標誌。關於如何讓這樣的事情發揮作用的任何想法?
您可能會發現 shell
$OLDPWD
shell 變數很有用(由 POSIX 定義)。例如,您可以定義一個覆蓋原始cd
命令的 shell 函式:cd() { command cd "$@" && printf '%s -> %s\n' "${OLDPWD}" "${PWD}"; }
您應該閱讀Unix手冊頁的摘錄:
如果在上述步驟的執行過程中設置了環境變數
PWD
,則OLDPWD
環境變數也應設置為舊工作目錄的值(即呼叫之前的目前工作目錄cd
)。