Назад | Перейти на главную страницу

История Azure Cloud Shell сохраняется между сеансами

Моя история 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 и сохраните вашу последнюю команду истории.

Примечания: делать это не рекомендуется, потому что другие люди могут видеть вашу команду, это небезопасное поведение.