Как мы можем сохранить или поддерживать одну и ту же историю на нескольких терминалах?
Тот же вопрос, но для bash shell, обсуждался в ссылке ниже
Сохранить историю Bash в нескольких окнах терминала
дайте мне знать соответствующие настройки для оболочки tcsh?
command-history
tcsh
user1228191
источник
источник
history
, смman tcsh
. Поискhistory -S
должен перейти к самой важной части.Ответы:
Эти переменные устанавливают историю для слияния вместо перезаписи, а не для сохранения дубликатов:
секретный соус это линия:
который сохранит и объединит вашу историю перед печатью приглашения - т.е. после каждой введенной вами команды.
все вышеперечисленное должно быть добавлено в ваш файл .tcshrc .
источник
alias precmd 'history -S; history -M'
ничего не произошло, когда я написал какую-либо команду. Есть ли что-то еще, что должно быть сделано?.history
файл (илиhistfile
значение переменной оболочки, если установлено), записываемый на диск. Без установленногоprecmd
псевдонима файлls -l .history
будет отображаться.history
как нетронутый. Приprecmd
установке, как указано выше,ls -l .history
будут отображаться обновленные временная метка и размер по мере их написания каждой командой.В дополнение к ответу Идана , я хочу добавить, что
alias precmd 'history -S; history -M'
потенциально может испортить файл истории, поскольку он также записывает сигналы SIGINT и EOF (Ctrl + C и Ctrl + D).Лучшим способом было бы сохранить и объединить текущую историю оболочки после выполнения команды.
Вы можете достичь этого с помощью этой настройки ниже, так как tcsh не распознает SIGINT или EOF как допустимую команду.
источник