ディレクトリの下のコマンドは対話型の使用にのみ使用されますか?

ディレクトリの下のコマンドは対話型の使用にのみ使用されますか?

私は一つを持っていますbin/$HOMEこれには、いくつかの一般的なコマンドの拡張バージョンが含まれています。したがって、私はこのコマンドをスクリプトで使用するのではなく、インタラクティブな目的でのみ使用したいと思います。

私ができることは追加だけです。

for f in ~/bin/*
do
    alias "$(basename $f)"="$f"
done

私のもの~/.bash_profile?それとも別の解決策がありますか?

答え1

に次の行を追加することもできます。これは.bashrc対話型シェルにある場合にのみ設定されます。PATH

if [ "$PS1" ]
then
    export PATH=~/bin:$PATH
fi

答え2

環境モジュールを使用して、必要なパスを設定するモジュールを手動で有効(ロード)できます。

module load homebin

ホームビンモジュールは次のとおりです

#%Module1.0
prepend-path PATH ~/bin

http://modules.sourceforge.net

答え3

使用するシェルと(残念ながら)どのシステムによっても異なります。たとえば、Bash は対話型シェルとして使用するのか、非対話型シェルとして使用するのかによって、異なる起動ファイルを使用します。バッシュマニュアル

export PATH=$HOME/bin:$PATH原則として、これをファイルに追加できる必要があります。~/.bashrcこれは、ログインではなく対話型シェルに対してのみ実行されます。実際、一部のシステムは~/.bashrc非対話型シェルも読み取るように構成されています。

関連質問:

関連情報