Bash 中的环境变量扩展

Bash 中的环境变量扩展

当你按下 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 中工作,那就太好了,但我知道这是一个复杂的话题。

所以我认为基本问题是:有没有办法将环境的扩展价值融入到历史中?

相关内容