PATHに$ HOME / mydirが含まれていることを確認し、そうでない場合は追加してください(すべてスクリプトにあります)

PATHに$ HOME / mydirが含まれていることを確認し、そうでない場合は追加してください(すべてスクリプトにあります)

重複の可能性:
ソースの $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 :"を作成しました。

おすすめ記事