Pushd home dir,而不是使用波浪号?

Pushd home dir,而不是使用波浪号?

使用pushd主目录中的命令会给你〜,但是当我尝试使用访问它时
cd $(dir +1),它给出了一个错误cd: ~: No such file or directory,经过一些研究,(如果我错了,请纠正我)我认为错误是〜没有在行的开头,并且 ~ 符号不会更改为/home/myname

有没有什么办法解决这一问题?

答案1

用于dirs -l +1打印目录的完整路径,不~带缩写。波形符扩展仅在显式键入时发生,而不是在命令的输出中发生。

cd $(dirs -l +1)

或者,使用 zsh,您可以简单地编写

cd +1

但即使在 bash 中你也可以这样写

pushd +1

其效果几乎相同(它以不同的顺序离开堆栈)。

相关内容