背景:我的一位没有 Linux 背景的同事问我有关./
在某些命令之前使用而不是其他命令的问题,所以我向他解释了如何PATH
工作以及如何选择运行二进制文件。他的回答是,这很愚蠢,他只是想不需要./
在命令之前输入。
问题:有没有一种方法可以轻松修改 shell 的行为,使其$PWD
始终是第一项PATH
?
答案1
如果您确实愿意,可以通过.
在路径前添加以下内容来完成此操作:
export PATH=".:$PATH"
然而,这是一个坏主意,因为这意味着您的 shell 将优先选择当前目录中的任何命令。如果有人(或某个程序)ls
在您经常使用的目录中放置了恶意命令,那么您就会遇到麻烦......
答案2
尽管这不是您问题的直接答案,但最佳实践是bin
在您的主目录中创建一个目录,如下所示/home/user/bin
:
mkdir -p "$HOME/bin"
echo 'PATH="$HOME/bin:$PATH"' >> "$HOME/.bashrc"
source "$HOME/.bashrc"
将您的个人脚本放入其中。将会PATH
按照您定义的顺序遍历并执行您的个人脚本,而无需执行.
。
答案3
您需要拥有 .在 PATH 变量的开头:
export PATH=".:$PATH"