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

Одной проблемой мобильности в Вашем сценарии является использование &> /dev/null перенаправить и stdout и stderr. Это - bashism и будет не обязательно работать над другими оболочками. (Я был недавно укушен этим.) Более портативный путь состоит в том, чтобы использовать > /dev/null 2>&1.

2
20.12.2018, 23:01
2 ответа

Просто отредактируйте .bashrc файл (лучше делают копию оригинала первой, на всякий случай) и просто добавляет строку название сценария, который Вы хотите выполнить в файл (у основания .bashrc был бы прекрасен).

Если сценарий не находится в Вашем корневом каталоге, несомненно, укажут полный путь.

1
27.01.2020, 22:23
  • 1
    я плохо знаком с Linux, который я не знаю, как отредактировать bashrc файл все же или сделать то, что Вы сказали, может Вы обходить меня через странный –  Johnny Williem 15.06.2012, 07:06
  • 2
    @JohnnyWilliem необходимо ли быть немного более конкретными - какая часть не имеет никакого смысла? –  Levon 15.06.2012, 07:06
  • 3
    1), как я редактирую bashrc файл, мой друг, сказал мне, что это - то, куда я должен поместить сценарий, он дал мне, чтобы он работал, –  Johnny Williem 15.06.2012, 07:08
  • 4
    @JohnnyWilliem, Редактируя файл означает, что необходимо открыть файл (точно так же, как Вы открыли бы файл обычного текста на компьютере), и внесите изменения в него. В этом случае добавьте новую строку, чтобы назвать Ваш сценарий (или добавить Вашу функцию). Если Вы не довольны основным редактированием файлов, возможно, Вы могли бы хотеть спросить кого-то с немного большим опытом предоставить Вам руку, пока Вы больше не привыкли к Linux. –  Levon 15.06.2012, 07:10
  • 5
    Да каждая информация в сети говорит открытый текстовый редактор, и получите доступ к .profile или .bashrc оттуда, нет такого файла, видимого в моем текстовом редакторе, я использую gedit. Я на самом деле только что нашел bashrc, но не могу найти, что .profile –  Johnny Williem 15.06.2012, 08:33

Правильный файл для переменных среды такой как 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.

0
27.01.2020, 22:23

Теги

Похожие вопросы