Jér*_*nge 12 path string shell-script environment-variables
可能的重复:在源代码中将重复项
保留在 $PATH 之外
我的一些脚本位于$HOME/mydir. 不幸的是,如果这个目录不是PATH.
我想创建一个小脚本,检查是否$HOME/mydir是PATH. 如果不是,PATH则应使用它和 进行更新EXPORTED。
我的问题是:我可以使用哪个命令来检查是否$HOME/mydir属于PATH? 谢谢。
解决方案
为了记录,我实现了以下内容:
echo "Before: $PATH"
echo $PATH | grep -q "$HOME/scripts"
if [ $? -eq 0 ]; then
PATH=$PATH:$HOME/scripts
export PATH
else
export PATH
fi
echo ""
echo "After: $PATH"
Run Code Online (Sandbox Code Playgroud)
gle*_*man 23
我会写
case ":$PATH:" in
*:$HOME/mydir:*) echo it is in the path;;
*) echo not there ;;
esac
Run Code Online (Sandbox Code Playgroud)
如果所需的路径是 $PATH 中的第一个或最后一个,我会编写 ":$PATH:" 以确保模式匹配。
您可以编写一个简单的 bash 脚本来执行此类操作。
echo $PATH | grep -q "/your/search/path"
Run Code Online (Sandbox Code Playgroud)
然后检查是否 $? 不为 0,表示不匹配,如果匹配则添加路径
export PATH=$PATH:/your/search/path
Run Code Online (Sandbox Code Playgroud)