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

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

62
задан 10 February 2011 в 03:35

4 ответа

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

103
ответ дан 31 October 2019 в 13:28

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

# include .bashrc if it exists
if [ -f $HOME/.bashrc_aliases ]; then
    . $HOME/.bashrc_aliases
fi
49
ответ дан 31 October 2019 в 13:28

Если у Вас есть несколько файлов, Вы хотите загрузиться, который может или не может существовать, можно сохранить это несколько изящным при помощи для цикла.

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
ответ дан 31 October 2019 в 13:28

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

if [ -n "${BASH_VERSION}" ]; then
  filepath="${HOME}/ls_colors/monokai.sh"
  if [ -f "$filepath" ]; then
    source "$filepath"
  fi
fi
0
ответ дан 31 October 2019 в 13:28

Другие вопросы по тегам:

Похожие вопросы: