Моя история Azure Cloud Shell не сохраняется между сеансами (время ожидания истекает через 10 минут, поэтому это раздражает). .bashrc
имеет
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
Так что это должно работать, но не записывается .bash_history
.
Согласно вашему описанию, кажется, что переменная окружения оболочки установлена некорректно. Я тестирую на своей Azure VM, она работает на меня. Я предлагаю вам проверить следующие методы.
1.Проверить вашу текущую оболочку.
Вы можете использовать echo $SHELL
, чтобы получить вашу текущую оболочку. Профиль .bashrc
используется для bash shell'а. Если вы используете другую оболочку, например csh, она не работает.
2.Проверьте файл .profile
. Пожалуйста, убедитесь, что существуют следующие команды.
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
3.Проверьте .profile
и .bashrc
разрешение пользователя и группы.
-rw-r--r-- 1 shui shui 3771 Aug 31 2015 .bashrc
Обновление:
Cloud Shell не сохраняет команду истории на .bash_history
. Если вы хотите это сделать. Вы можете добавить экспорт PROMPT_COMMAND='history -a'
в .bashrc
. Например, belwo:
# append to the history file, don't overwrite it
shopt -s histappend
export PROMPT_COMMAND='history -a'
Тогда Вы могли бы исходный .profile
. Теперь Вы можете найти .bash_histroy
и сохранить Вашу последнюю команду истории.
Notes: Не рекомендуется делать это, так как другие люди могут увидеть вашу команду, это небезопасное поведение.
.На данный момент история bash записывается при успешном завершении процесса bash. В случае преждевременного тайм-аута (увеличенного до 20 минут) история не записывается. Это ошибка, над которой они работают.