当你按下 Tab 键时,Bash 会扩展环境变量:
cd $PWD
会导致$PWD
被扩展。当你按下回车键时,扩展的路径将进入你的历史记录,这真的很有用。
本小组已广泛讨论了环境变量扩展。我需要一个适用于 Mac 和 Linux 且没有其他副作用的解决方案。因此我们不使用它,shopt -s direxpand
因为 Mac 上不存在这个。
假设你当前的工作目录是/home/user/foo
。有没有简单的方法来输入:
cd $PWD
并被cd /home/user/foo
载入史册吗?
请注意,像cd $PWD
或 这样的明显操作cd `echo $PWD`
不起作用。命令(而不是扩展)被放入历史记录中。
此外,cd $PWD/
由于您必须编辑结果,因此效果并不理想。例如,如果目录中只有一个文件,它会展开为该文件的完整路径名。
如果制表符扩展能够像以前一样在 bash 中工作,那就太好了,但我知道这是一个复杂的话题。
所以我认为基本问题是:有没有办法将环境的扩展价值融入到历史中?