Одной проблемой мобильности в Вашем сценарии является использование &> /dev/null
перенаправить и stdout и stderr. Это - bashism и будет не обязательно работать над другими оболочками. (Я был недавно укушен этим.) Более портативный путь состоит в том, чтобы использовать > /dev/null 2>&1
.
Просто отредактируйте .bashrc
файл (лучше делают копию оригинала первой, на всякий случай) и просто добавляет строку название сценария, который Вы хотите выполнить в файл (у основания .bashrc
был бы прекрасен).
Если сценарий не находится в Вашем корневом каталоге, несомненно, укажут полный путь.
Правильный файл для переменных среды такой как 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
.