Описание тега samba
Один из способов, как другой ответ указывает, будет сделать функцию, которая заменяет ваш редактор вызов .bashrc и с двух шагов процесса, который
- открывает редактор .bashrc следующее
- источники .bashrc следующее
такие как:
vibashrc() { ви $дома/.bashrc следующее; Источник $дома/.bashrc следующее; }
Это имеет некоторые недостатки:
- это потребует, чтобы вы помнили, чтобы типа
vibashrc
каждый раз, когда вы хотели поиске случиться - это случится только в текущем окне Баш
- он будет пытаться источника .bashrc и независимо от того, вы внесли какие-либо изменения к нему
Другим вариантом было бы вклиниться в Баша PROMPT_COMMAND функционал источник .bashrc в любой/все в bash, когда он видит, что .файл bashrc был обновлен (и незадолго до следующей строке отображается).
Вы должны добавить следующий код в ваш .файл bashrc (или продлить любую существующую функциональность PROMPT_COMMAND с ним):
prompt_command() {
# инициализировать timestamp, если он еще не
_bashrc_timestamp=${_bashrc_timestamp:-$(стат -с %Г "$дома/.bashrc и")}
# если он был изменен, проверить и загрузить его
если [[ $(стат -с %Г "$дома/.bashrc и") -и GT $_bashrc_timestamp ]]
тогда
# только загрузить его, если `-н` успешно ...
если $Баш -Н "$дома/.bashrc и" >& /dev/нуль
тогда
источник "$дома/.bashrc и"
еще
ошибка е "в $Home/.bashrc и; не источников его\N" >&2
интернет
# ... но обновить метку времени независимо от
_bashrc_timestamp=$(стат -с %Г "$дома/.bashrc и")
интернет
}
PROMPT_COMMAND='prompt_command'
Затем, в следующий раз, когда вы входите в систему, Баш будет загружать эту функцию и оперативное крючок, и каждый раз, когда он собирается появиться, она будет проверять, чтобы увидеть, если $дома/.bashrc и была обновлена. Если он есть, он будет работать быстро проверить на наличие синтаксических ошибок (в наборе -Н
вариант), и если файл чистый, источник его.
Он обновляет переменную внутренние метки времени независимо от проверки синтаксиса, так что он не пытается загрузить его, пока файл не был сохранен или обновлен.