Как выполнить функцию в файле .profile

Как выполнить функцию в файле .profile

У меня есть функция, которая должна удалять дубликаты каталогов из моей 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.

Связанный контент