web-dev-qa-db-ja.com

.bashrcに追加ファイルを含める

.bashrcで実行したいものがありますが、これはシステム上の別のファイルに存在する方がよいでしょう。このファイルを.bashrcに含めるにはどうすればよいですか?

62
Fragsworth

source /whatever/file(または. /whatever/file)を、他のファイルを含める.bashrcに追加します。

100

エラーを防ぐには、まずファイルが存在することを確認する必要があります。次に、ファイルを入手します。このようなことをしてください。

# include .bashrc if it exists
if [ -f $HOME/.bashrc_aliases ]; then
    . $HOME/.bashrc_aliases
fi
49
Nick

存在する場合と存在しない場合がある複数のファイルをロードする場合は、forループを使用することで、ある程度エレガントに保つことができます。

files=(somefile1 somefile2)
path="$HOME/path/to/dir/containing/files/"
for file in ${files[@]}
do 
    file_to_load=$path$file
    if [ -f "$file_to_load" ];
    then
        . $file_to_load
        echo "loaded $file_to_load"
    fi
done

出力は次のようになります。

$ . ~/.bashrc
loaded $HOME/path/to/dir/containing/files/somefile1
loaded $HOME/path/to/dir/containing/files/somefile2
2
modle13

私は最初にバージョンをチェックし、パス設定の変数を割り当てることを好みます:

if [ -n "${BASH_VERSION}" ]; then
  filepath="${HOME}/ls_colors/monokai.sh"
  if [ -f "$filepath" ]; then
    source "$filepath"
  fi
fi
0
Nick Tsai