详细更改目录?

lee*_*oon 3 shell cd-command macos

我正在将 bash 脚本中执行的每个操作记录到日志文件中。我想cd详细更改目录,以便将输出记录到日志中。

有点像这样:

iMac:~ leetbacoon$ cd -v /new\ path
cd: /Users/leetbacoon -> /new path
iMac:new path leetbacoon$
Run Code Online (Sandbox Code Playgroud)

遗憾的是cd缺少详细的标志。关于如何让这样的事情起作用的任何想法?

ste*_*ver 7

您可能会发现 shell $OLDPWDshell 变量很有用(由 POSIX 定义)。例如,您可以定义一个覆盖原始 cd命令的 shell 函数:

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

您应该阅读Unix手册页的摘录:

如果在执行上述步骤期间PWD设置了OLDPWD环境变量,则环境变量也应设置为旧工作目录(即调用 之前的当前工作目录cd)的值。