将 ~/.local/bin 中的文件优先于 /usr/bin
Prioritize file in ~/.local/bin over /usr/bin
我正在尝试用 ~/.local/bin/
中的脚本替换 whoami
命令。有没有办法让我的 whoami 获得优先权,这样当我 运行 whoami 我的脚本将 运行 代替?
您需要将 ~/.local/bin/
放在 PATH
环境变量的第一位。然后将首先检查该目录,然后再检查任何其他目录以查找 运行.
的程序
export PATH=~/.local/bin:$PATH
这是我 ~/.profile
文件中的内容
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
这有效!
在这个文件的顶部,写着
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
所以 如果你有 ~/.bash_profile
或 ~/.bash_login
删除它们或将它们与 ~/profile
合并。我没有这些文件。
这就是我的 $PATH
的样子(缩短...)
$ echo $PATH | sed -r 's/:/\n/g'| cat -n
1 /home/shiplu/anaconda3/condabin
2 /home/shiplu/.sdkman/candidates/gradle/current/bin
3 /home/shiplu/.cargo/bin
4 /home/shiplu/.local/bin
5 /home/shiplu/bin
6 /usr/local/sbin
7 /usr/local/bin
8 /usr/sbin
9 /usr/bin
10 /sbin
11 /bin
12 /usr/games
13 /usr/local/games
14 /snap/bin
检查第 4 行的路径。它在任何其他系统 bin 目录之前。
我正在尝试用 ~/.local/bin/
中的脚本替换 whoami
命令。有没有办法让我的 whoami 获得优先权,这样当我 运行 whoami 我的脚本将 运行 代替?
您需要将 ~/.local/bin/
放在 PATH
环境变量的第一位。然后将首先检查该目录,然后再检查任何其他目录以查找 运行.
export PATH=~/.local/bin:$PATH
这是我 ~/.profile
文件中的内容
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
这有效!
在这个文件的顶部,写着
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
所以 如果你有 ~/.bash_profile
或 ~/.bash_login
删除它们或将它们与 ~/profile
合并。我没有这些文件。
这就是我的 $PATH
的样子(缩短...)
$ echo $PATH | sed -r 's/:/\n/g'| cat -n
1 /home/shiplu/anaconda3/condabin
2 /home/shiplu/.sdkman/candidates/gradle/current/bin
3 /home/shiplu/.cargo/bin
4 /home/shiplu/.local/bin
5 /home/shiplu/bin
6 /usr/local/sbin
7 /usr/local/bin
8 /usr/sbin
9 /usr/bin
10 /sbin
11 /bin
12 /usr/games
13 /usr/local/games
14 /snap/bin
检查第 4 行的路径。它在任何其他系统 bin 目录之前。