Tim Asked: 2018-11-08 19:03:07 +0800 CST2018-11-08 19:03:07 +0800 CST 2018-11-08 19:03:07 +0800 CST 为什么`pushd`总是将堆栈输出到stdout?[关闭] 772 pushd将目录推入目录堆栈,并更改工作目录。我想这就是我们所需要的。 但除此之外,为什么pushd总是将堆栈输出到标准输出?我认为这是不必要的,并且会在屏幕上添加混乱,否则我会错过重点。谢谢。 bash pushd 2 个回答 Voted dr_ 2018-11-09T06:35:30+08:002018-11-09T06:35:30+08:00 它并不总是这样做,只有当命令成功时。从手册页: 如果 pushd 命令成功,也会执行 dirs。 我们无法读懂原始程序员的想法,但我们可以想象这是为了确保通知用户堆栈的更新内容。 Best Answer Kusalananda 2018-11-09T07:06:00+08:002018-11-09T07:06:00+08:00 pushd并且popd主要提供一种方便的方式来交互导航目录。在脚本中,cd更经常使用。 作为一种交互式工具,pushd每当成功将新目录推送到目录堆栈时,它都会向用户提供有关目录堆栈当前状态的反馈。该cd命令有时包装在一个 shell 函数中(仅用于交互使用),只要当前工作目录发生更改,该函数就会以相同的方式输出新目录。shell 中的r别名ksh重复最近给出的命令,也以回显正在执行的实际命令的形式向用户提供反馈。 所有这些小反馈都是为了帮助用户导航,并且通常只是为了确保他们在做他们认为在交互式 shell 提示下工作时所做的事情。
它并不总是这样做,只有当命令成功时。从手册页:
我们无法读懂原始程序员的想法,但我们可以想象这是为了确保通知用户堆栈的更新内容。
pushd
并且popd
主要提供一种方便的方式来交互导航目录。在脚本中,cd
更经常使用。作为一种交互式工具,
pushd
每当成功将新目录推送到目录堆栈时,它都会向用户提供有关目录堆栈当前状态的反馈。该cd
命令有时包装在一个 shell 函数中(仅用于交互使用),只要当前工作目录发生更改,该函数就会以相同的方式输出新目录。shell 中的r
别名ksh
重复最近给出的命令,也以回显正在执行的实际命令的形式向用户提供反馈。所有这些小反馈都是为了帮助用户导航,并且通常只是为了确保他们在做他们认为在交互式 shell 提示下工作时所做的事情。