详细更改目录?

详细更改目录?

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

有点像这样:

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

遗憾的是cd缺少一个详细的标志。关于如何让这样的事情发挥作用有什么想法吗?

答案1

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

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

摘自 Unix手册页你应该阅读:

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

相关内容