Включите дополнительные файлы.bashrc


У меня есть некоторые вещи, которые я хочу выполнить.bashrc, который я предпочел бы существовать в другом файле в системе. Как я могу включить этот файл .bashrc следующее?

4   51  

4 ответа:

добавить source /whatever/file (или . /whatever/file) в .bashrc где вы хотите, чтобы другой файл.

для предотвращения ошибок необходимо сначала проверить, существует ли файл. Затем источник файла. Сделай что-нибудь вроде этого.

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

Если у вас есть несколько файлов, которые вы хотите загрузить, которые могут или не могут существовать, вы можете сохранить его несколько элегантным с помощью цикла 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

Я предпочитаю сначала проверить версию и назначить переменную для конфигурации пути:

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