Bash,总是检查 $PWD 作为路径的一部分?

Bash,总是检查 $PWD 作为路径的一部分?

背景:我的一位没有 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"

相关内容