无法理解Zsh的autopushd的好处

我在.zshrc
setopt autopushd

它使cd行为像pushd.
这意味着我们根本没有堆栈.
当我使用它时,我根本没有使用过堆栈,因为它会从我身上移除堆栈.

我不确定autopushd有什么好处.

autopushd有什么好处?

解决方法

pushd就像cd,但它也会将当前目录推送到堆栈.您可能位于/ some / deep /目录中,然后需要在/ var / www中查看一段时间:
crb@server /some/deep/directory $pushd /var/www/
/var/www /some/deep/directory
crb@server /var/www $[do some stuff]
crb@server /var/www $popd
/some/deep/directory
crb@server /some/deep/directory $

autopushd意味着即使你输入’cd’,你也会得到输入’pushd’的效果,你不记得你想要使用它直到你想到“男人,我真的希望我能回到原来的状态”.然后,您可以回顾目录历史记录.

知道你可以通过输入’cd – ‘来改变你之前的目录(而不是父目录),这很有用.

Here’s another good writeup.

编辑为什么在使用cd时使用pushd?

cd /foo/bar
cd /baz
cd /somewhere/else

cd – 只会让你到/ baz.在输入’cd / foo / bar’之前,pushd会让你一直回到原来的位置.

目录堆栈在脚本中特别有用,您不能只返回命令历史记录并识别您所在目录的名称

pushd /var/foo
# run a command,which might well change your PWD at the end of its execution - especially if it fails
popd

您现在可以保证在/ var / foo中.

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...