Моя история 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
записывается.
На данный момент история bash записывается при успешном завершении процесса bash. В случае преждевременного тайм-аута (увеличенного до 20 минут) история не записывается. Это ошибка, над которой они работают.
Согласно вашему описанию, кажется, что ваша переменная среды оболочки установлена неправильно. Я тестирую свою виртуальную машину Azure, у меня она работает. Я предлагаю вам проверить следующие методы.
1. Проверьте текущую оболочку.
Вы могли бы использовать echo $SHELL
чтобы получить текущую оболочку. .bashrc
профиль используется для оболочки bash. Если вы используете другую оболочку, например 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
. Если вы хотите это сделать. Вы могли бы добавить export PROMPT_COMMAND='history -a'
к .bashrc
. Такие как belwo:
# append to the history file, don't overwrite it
shopt -s histappend
export PROMPT_COMMAND='history -a'
Тогда вы могли source .profile
. Теперь вы можете найти .bash_histroy
и сохраните вашу последнюю команду истории.
Примечания: делать это не рекомендуется, потому что другие люди могут видеть вашу команду, это небезопасное поведение.