У меня есть функция, которая должна удалять дубликаты каталогов из моей PATH
переменной окружения. Я создал несколько дубликатов, чтобы протестировать их, но не знаю, как:
1) поместить скрипт в $HOME/.bashrc
файл
решение1
Просто отредактируйте .bashrc
файл (лучше сначала сделайте копию оригинала, на всякий случай) и просто добавьте в файл строку с именем скрипта, который вы хотите выполнить (внизу .bashrc
будет вполне достаточно).
Если скрипт отсутствует в вашем домашнем каталоге, обязательно укажите полный путь.
решение2
Правильный файл для переменных окружения, таких как PATH
не является, ~/.bashrc
но ~/.profile
. .bashrc
является файлом конфигурации для интерактивных оболочек; .profile
является скриптом запуска сеанса. СмотритеСуществует ли эквивалентный файл «.bashrc», читаемый всеми оболочками?.
Bash немного своеобразен со своими файлами запуска: в оболочках входа он считывает, ~/.bash_profile
если он существует, и ~/.profile
в противном случае. В интерактивных оболочках без входа он считывает ~/.bashrc
. Нет причин не загружать интерактивные настройки в интерактивных оболочках входа, и есть много установок, где оболочка запуска сеанса не вызывается как оболочка входа, а ~/.profile
считывается явно. Поэтому сделайте так, чтобы ваш ~/.bash_profile
содержал только эти две строки:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Если у вас были вещи в ~/.bash_profile
, переместите их в , ~/.profile
если это такие вещи, как настройки переменных среды, и в , ~/.bashrc
если это интерактивная конфигурация оболочки, такая как псевдонимы и привязки клавиш. Поместите все ваши PATH
манипуляции в ~/.profile
.