У меня есть материал, который я хочу выполнить в .bashrc, который я предпочел бы существовать в другом файле в системе. Как включить этот файл в .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
Несомненно, вам не нужно проверять наличие файла внутри цикла? (Если у вас нет очень динамического списка файлов на диске) –
Существует только одна проверка наличия файла. Если в вашей рабочей среде нет файла, описанного в списке, это просто ошибка в загрузке этого файла и создание визуального шума. Более идеальным подходом было бы получить список файлов, а затем выполнить цикл, а не определять статический список. – modle13
Я предпочитаю, чтобы проверить версию первого и назначить переменную пути конфигурации:
if [ -n "${BASH_VERSION}" ]; then
filepath="${HOME}/ls_colors/monokai.sh"
if [ -f "$filepath" ]; then
source "$filepath"
fi
fi
- 1. Как включить дополнительные файлы при построении войны?
- 2. Включить дополнительные файлы в сборку с использованием MSBuild
- 3. Есть ли хороший способ включить дополнительные файлы с возможностью?
- 4. Включая дополнительные файлы при развертывании
- 5. Setuptools - судоходные дополнительные файлы
- 6. Powershell хватает дополнительные файлы
- 7. sbt - включить дополнительные исходные каталоги
- 8. Включить файлы в Codeigniter
- 9. Включить файлы в apk
- 10. Включить файлы в ridl
- 11. Включить файлы в PHP
- 12. Как указать дополнительные зависимые файлы в MSBuild?
- 13. Включить файлы в пользовательский Eclipse с Oomph
- 14. Включить дополнительные DLL в Azure Worker Role
- 15. Как включить дополнительные моменты в Meteor
- 16. Включить дополнительные строки в has_many через отношение
- 17. Как включить дополнительные ключи шифрования в CFStream?
- 18. Включить дополнительные поля в Woocommerce email
- 19. Как включить дополнительные параметры в плагин jquery
- 20. Как включить файлы в определенные носители?
- 21. Какие дополнительные зависимые файлы SDL?
- 22. Дополнительные файлы данных Android Market
- 23. Невозможно включить файлы в Visual Studio 2013
- 24. Обзор приложений для iOS: дополнительные файлы?
- 25. vs2012 release build дополнительные файлы
- 26. Vertx: Как добавить дополнительные файлы
- 27. Как выполнить файлы, добавленные в .bashrc из текущего каталога?
- 28. Включить дополнительные источники для перекомпилирования в gwtSuperDev Задача
- 29. Введите текст пользователя в .bashrc
- 30. Как добавить дополнительные исходные файлы в Makefile
Вы должны обращаться с небытием грациозно. например, проверить существование (test -r path &&. path) или проигнорировать ошибки (путь 2>/dev/null) –
@William Pursell IMO легче проверить один раз, а затем написать код для случаев, что 99,99% никогда не произойдет , – Daniel
@ Даниэль Я не согласен. Вещи, которые происходят 0,01% времени, могут возникать тысячи раз в секунду. И наличие .bashrc в NFS, установленном в $ HOME, может означать, что частота сбоев в поиске файла намного выше, чем 0,01% –