使用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
其效果几乎相同(它以不同的顺序离开堆栈)。