Стесняюсь предложить это, но если это функция, которую вы действительно хотите, вы можете сделать что-то подобное , установив переменную PROMPT_COMMAND
к чему-то умному.
PROMPT_COMMAND
запускается каждый раз, когда оболочка показывает приглашение оболочки Так что, если вы в порядке с обновлением оболочек, только после нажатия Enter или выполнить команду, это должно почти сделать это.
Поместите export PROMPT_COMMAND="source ~/.bashrc"
в ваш файл ~/.bashrc
.Повторно отправляйте его в те сеансы оболочки, в которых вы хотите, чтобы автоматически обновлялось поведение.
Это расточительно - он повторно отправляет файл при каждом запросе.Если вы можете заставить свой редактор оставить старую версию в определенном файле, скажем ~/.bashrc~
(где первый ~
означает ваш домашний каталог, а последний ~
- это просто ~
,общий выбор для резервного копирования имен файлов), тогда вы можете сделать что-то более похожее (не проверено):
export PROMPT_COMMAND="[ ~/.bashrc -nt ~/.bashrc~ ] && touch ~/.bashrc~ && source ~/.bashrc "
тогда будет stat(2)
два файла при каждом запуске, проверить, какой из них более новый, и повторно получить источниктолько если ~/.bashrc
новее, чем его резервная копия.Команда touch
используется для того, чтобы сделать резервную копию более новой и снова провалить тест.