重複の可能性:
ソースの $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"
答え1
私は書くことができます
case ":$PATH:" in
*:$HOME/mydir:*) echo it is in the path;;
*) echo not there ;;
esac
目的のパスが$ PATHの最初または最後のパスである場合は、パターン一致を保証するために ":$ PATH :"を作成しました。
答え2
同様の作業を行うために、単純なbashスクリプトを書くことができます。
echo $PATH | grep -q "/your/search/path"
次に $? が 0 でないことを確認し、一致しないことを示します。その場合は、パスを追加してください。
export PATH=$PATH:/your/search/path