パス変数にコンテンツを永久に追加できるアプリケーションはありますか?

パス変数にコンテンツを永久に追加できるアプリケーションはありますか?

単純な端末コマンドを使用すると非常に簡単であることがわかりますが、まだ次のプログラムが必要です。

> addtopath "~/bin" 

一部の構成ファイルを編集し、正しい構文を覚えておらずに、これを永久に実行します。外に何かありますか? aptでイ​​ンストールするのが最善です。

答え1

そのアプリケーションは次のとおりです。

echo 'PATH=$PATH:~/bin' >> ~/.profile

これをシェル関数やスクリプトに自由に入れることができますが、正直なところ、その機能をより単純なものとしてカプセル化するためにパッケージをインストールする必要はないと思います。

答え2

上記のように、このためにパッケージをインストールするのはかなり面倒なことがあるので、直接インストールすることをお勧めします。

以下は、いくつかの賢明な機能を含むこれを行うシェル関数です(ただし、常に改善の余地があります)。

addtopath() {
  local path_to_add=''
  # set var if target is a directory
  [ -d "${1}" ] && path_to_add="${1}"
  # error out if $1 was empty or a bad path was given
  : "${path_to_add:?No valid path provided}"
  # exit early if path already in PATH
  grep -qE "(^|:)${path_to_add}(:|$)" <<< "${PATH}" && return
  # add to end of .profile
  printf '\nPATH=$PATH:%s' "${path_to_add}" >> "${HOME}/.profile"
}

関連情報