У меня есть некоторый материал, который я хочу выполнить в .bashrc, который я предпочел бы существовать в другом файле в системе. Как я могу включать этот файл в .bashrc?
Добавьте source /whatever/file
(или . /whatever/file
) в .bashrc
, где Вы хотите другой включенный файл.
Для предотвращения ошибок, необходимо сначала проверить, чтобы удостовериться, что файл существует. Затем получите файл. Сделайте что-то вроде этого.
# include .bashrc if it exists
if [ -f $HOME/.bashrc_aliases ]; then
. $HOME/.bashrc_aliases
fi
Если у Вас есть несколько файлов, Вы хотите загрузиться, который может или не может существовать, можно сохранить это несколько изящным при помощи для цикла.
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