我将 bash 脚本中执行的每个操作记录到日志文件中。我想cd
详细更改目录,以便可以将输出记录到日志中。
有点像这样:
iMac:~ leetbacoon$ cd -v /new\ path
cd: /Users/leetbacoon -> /new path
iMac:new path leetbacoon$
遗憾的是cd
缺少一个详细的标志。关于如何让这样的事情发挥作用有什么想法吗?
答案1
您可能会发现 shell $OLDPWD
shell 变量很有用(由 POSIX 定义)。例如,您可以定义一个 shell 函数来覆盖原来的 cd
命令:
cd() { command cd "$@" && printf '%s -> %s\n' "${OLDPWD}" "${PWD}"; }
摘自 Unix手册页你应该阅读:
如果在执行上述步骤的过程中
PWD
设置了环境变量,则OLDPWD
环境变量也应设置为旧工作目录的值(即调用之前的当前工作目录cd
)。