Я часто открываю множество терминалов [Прямо сейчас у меня есть 7 открытых в этом рабочем пространстве], и я часто ищу history
с помощью grep
, чтобы найти команду, которую я только что написал, но я не хочу выслеживать терминал, а затем прокручивать вверх и искать его больше и т. д. Иногда мои терминалы закрываются без «выхода», и все, что я написал, теряется [Иногда мне нужно что-то, что я написал в терминале, который был убит].
Так есть ли способ сделать так, чтобы каждый терминал немедленно записывал в .bash_history? или хотя бы раз в минуту или что-то в этом роде?
Простое решение, подробно описанное в Обновление Bash History в реальном времени .
В нем сказано, что эти команды нужно поместить в конфигурацию .bashrc:
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Первая команда изменяет режим файла .history
для добавления. А вторая конфигурирует команду history -a
, которая будет запускаться при каждом приглашении оболочки. -a
немедленно записывает текущие / новые строки в файл истории.
Относится к zsh:
Простое решение, подробно описанное в Обновление Bash History в реальном времени .
В нем сказано, что эти команды нужно поместить в конфигурацию .bashrc:
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Первая команда изменяет режим файла .history
для добавления. А вторая конфигурирует команду history -a
, которая будет запускаться при каждом приглашении оболочки. -a
немедленно записывает текущие / новые строки в файл истории.
Относится к zsh:
Простое решение, подробно описанное в Обновление Bash History в реальном времени .
В нем сказано, что эти команды нужно поместить в конфигурацию .bashrc:
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Первая команда изменяет режим файла .history
для добавления. А вторая конфигурирует команду history -a
для запуска при каждом приглашении оболочки. -a
немедленно записывает текущие / новые строки в файл истории.
Относится к zsh:
Простое решение, подробно описанное в Обновление Bash History в реальном времени .
В нем сказано, что эти команды нужно поместить в конфигурацию .bashrc:
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Первая команда изменяет режим файла .history
для добавления. А вторая конфигурирует команду history -a
, которая будет запускаться при каждом приглашении оболочки. -a
немедленно записывает текущие / новые строки в файл истории.
Относится к zsh:
Простое решение, подробно описанное в Обновление Bash History в реальном времени .
В нем сказано, что эти команды нужно поместить в конфигурацию .bashrc:
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Первая команда изменяет режим файла .history
для добавления. А вторая конфигурирует команду history -a
, которая будет запускаться при каждом приглашении оболочки. -a
немедленно записывает текущие / новые строки в файл истории.
Относится к zsh:
Простое решение, подробно описанное в Обновление Bash History в реальном времени .
В нем сказано, что эти команды нужно поместить в конфигурацию .bashrc:
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Первая команда изменяет режим файла .history
для добавления. А вторая конфигурирует команду history -a
, которая будет запускаться при каждом приглашении оболочки. -a
немедленно записывает текущие / новые строки в файл истории.
Относится к zsh:
Простое решение, подробно описанное в Обновление Bash History в реальном времени .
В нем сказано, что эти команды нужно поместить в конфигурацию .bashrc:
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Первая команда изменяет режим файла .history
для добавления. А вторая конфигурирует команду history -a
, которая будет запускаться при каждом приглашении оболочки. -a
немедленно записывает текущие / новые строки в файл истории.
Относится к zsh:
Простое решение, подробно описанное в Обновление Bash History в реальном времени .
В нем сказано, что эти команды нужно поместить в конфигурацию .bashrc:
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
Первая команда изменяет режим файла .history
для добавления. А вторая конфигурирует команду history -a
, которая будет запускаться при каждом приглашении оболочки. -a
немедленно записывает текущие / новые строки в файл истории.
Относится к zsh:
Попробуйте поместить это в свой .bashrc:
shopt -s histappend # append to history, don't overwrite it
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
. Кредит здесь: https://stackoverflow.com/questions/103944/real-time-history-export-amongst-bash-terminal- windows / 3055135
history -c очищает историю текущей сессии. Это уменьшит счетчик истории на сумму $ HISTSIZE. history -r читает содержимое $ HISTFILE и вставляет его в текущую текущую историю сеансов. это увеличит счетчик истории на количество строк в $ HISTFILE.
Я думаю, что это означает, что команды доступны почти сразу (у вас есть один терминал, пишите echo 1-секундный терминал echo 2, первый эхо-сигнал 3 и дважды нажав стрелку вниз, вы должны иметь эхо-2. должен выдавать команду в данном терминале, чтобы иметь доступ к тому, что было написано.
У меня есть большой файл истории, содержащий около 100000 записей, а варианты, которые очищают список истории и читают весь файл истории (с использованием history -c и history -r), представляют заметную задержку (возможно, 0,2 секунды) перед подсказкой отображается. Используя history -n, чтобы быстрее считывать только новые строки из файла истории:
shopt -s histappend
PROMPT_COMMAND='history -a;history -n'
PROMPT_COMMAND не нужно экспортировать, потому что это переменная оболочки.
Попробуйте вставить это в свой .bashrc
:
shopt -s histappend # append to history, don't overwrite it
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Кредит здесь: https://stackoverflow.com/questions/103944/real-time-history-export-amongst- bash-терминал-windows / 3055135
history -c
очищает историю запущенного сеанса. Это уменьшит счетчик истории на величину $HISTSIZE
. history -r
прочитайте содержимое $HISTFILE
и вставьте его в текущую историю сеанса работы. Это увеличит счетчик истории на количество строк в $HISTFILE
.
Я думаю, это означает, что команды доступны почти сразу (у вас есть один терминал, напишите echo 1
, второй терминал echo 2
, первый echo 3
и после двойного нажатия стрелки вниз вы должны получить echo 2
. Вы должны выполнить команду в данном терминале, чтобы иметь доступ к тому, что было написано.
Примечание для всех остальных ответов (которые в основном совпадают):
Достаточно установить PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
в .bashrc
(или в друзьях).
Также, вы можете вручную запустить history -a
, когда захотите «сделать снимок» истории в текущем сеансе.
Команда shopt -s histappend
не нужна, потому что history -a
всегда добавляет новые строки в файл и никогда не перезаписывает Это. Кроме того, по крайней мере, начиная с Bash 4, histappend
является поведением по умолчанию.
У меня большой файл истории с около 100000 записей, и варианты, которые очищают список истории и читают весь файл истории (используя history -c
и history -r
), вносят заметную (возможно, 0,2 секунды) задержку перед запросом отображается. Использование history -n
так, чтобы только новые строки читались из файла истории, выполняется быстрее:
shopt -s histappend
PROMPT_COMMAND='history -a;history -n'
PROMPT_COMMAND
не нужно экспортировать, потому что это переменная оболочки.
Попробуйте вставить это в свой .bashrc
:
shopt -s histappend # append to history, don't overwrite it
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Кредит здесь: https://stackoverflow.com/questions/103944/real-time-history-export-amongst- bash-терминал-windows / 3055135
history -c
очищает историю запущенного сеанса. Это уменьшит счетчик истории на величину $HISTSIZE
. history -r
прочитайте содержимое $HISTFILE
и вставьте его в текущую историю сеанса работы. Это увеличит счетчик истории на количество строк в $HISTFILE
.
Я думаю, это означает, что команды доступны почти сразу (у вас есть один терминал, напишите echo 1
, второй терминал echo 2
, первый echo 3
и после двойного нажатия стрелки вниз вы должны получить echo 2
. Вы должны выполнить команду в данном терминале, чтобы иметь доступ к тому, что было написано.
Примечание для всех остальных ответов (которые в основном совпадают):
Достаточно установить PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
в .bashrc
(или в друзьях).
Также, вы можете вручную запустить history -a
, когда захотите «сделать снимок» истории в текущем сеансе.
Команда shopt -s histappend
не нужна, потому что history -a
всегда добавляет новые строки в файл и никогда не перезаписывает Это. Кроме того, по крайней мере, начиная с Bash 4, histappend
является поведением по умолчанию.
У меня большой файл истории с около 100000 записей, и варианты, которые очищают список истории и читают весь файл истории (используя history -c
и history -r
), вносят заметную (возможно, 0,2 секунды) задержку перед запросом отображается. Использование history -n
так, чтобы только новые строки читались из файла истории, выполняется быстрее:
shopt -s histappend
PROMPT_COMMAND='history -a;history -n'
PROMPT_COMMAND
не нужно экспортировать, потому что это переменная оболочки.
Попробуйте вставить это в свой .bashrc
:
shopt -s histappend # append to history, don't overwrite it
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Кредит здесь: https://stackoverflow.com/questions/103944/real-time-history-export-amongst- bash-терминал-windows / 3055135
history -c
очищает историю запущенного сеанса. Это уменьшит счетчик истории на величину $HISTSIZE
. history -r
прочитайте содержимое $HISTFILE
и вставьте его в текущую историю сеанса работы. Это увеличит счетчик истории на количество строк в $HISTFILE
.
Я думаю, это означает, что команды доступны почти сразу (у вас есть один терминал, напишите echo 1
, второй терминал echo 2
, первый echo 3
и после двойного нажатия стрелки вниз вы должны получить echo 2
. Вы должны выполнить команду в данном терминале, чтобы иметь доступ к тому, что было написано.
Примечание для всех остальных ответов (которые в основном совпадают):
Достаточно установить PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
в .bashrc
(или в друзьях).
Также, вы можете вручную запустить history -a
, когда захотите «сделать снимок» истории в текущем сеансе.
Команда shopt -s histappend
не нужна, потому что history -a
всегда добавляет новые строки в файл и никогда не перезаписывает Это. Кроме того, по крайней мере, начиная с Bash 4, histappend
является поведением по умолчанию.
У меня большой файл истории с около 100000 записей, и варианты, которые очищают список истории и читают весь файл истории (используя history -c
и history -r
), вносят заметную (возможно, 0,2 секунды) задержку перед запросом отображается. Использование history -n
так, чтобы только новые строки читались из файла истории, выполняется быстрее:
shopt -s histappend
PROMPT_COMMAND='history -a;history -n'
PROMPT_COMMAND
не нужно экспортировать, потому что это переменная оболочки.
Попробуйте вставить это в свой .bashrc
:
shopt -s histappend # append to history, don't overwrite it
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Кредит здесь: https://stackoverflow.com/questions/103944/real-time-history-export-amongst- bash-терминал-windows / 3055135
history -c
очищает историю запущенного сеанса. Это уменьшит счетчик истории на величину $HISTSIZE
. history -r
прочитайте содержимое $HISTFILE
и вставьте его в текущую историю сеанса работы. Это увеличит счетчик истории на количество строк в $HISTFILE
.
Я думаю, это означает, что команды доступны почти сразу (у вас есть один терминал, напишите echo 1
, второй терминал echo 2
, первый echo 3
и после двойного нажатия стрелки вниз вы должны получить echo 2
. Вы должны выполнить команду в данном терминале, чтобы иметь доступ к тому, что было написано.
Примечание для всех остальных ответов (которые в основном совпадают):
Достаточно установить PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
в .bashrc
(или в друзьях).
Также, вы можете вручную запустить history -a
, когда захотите «сделать снимок» истории в текущем сеансе.
Команда shopt -s histappend
не нужна, потому что history -a
всегда добавляет новые строки в файл и никогда не перезаписывает Это. Кроме того, по крайней мере, начиная с Bash 4, histappend
является поведением по умолчанию.
У меня большой файл истории с около 100000 записей, и варианты, которые очищают список истории и читают весь файл истории (используя history -c
и history -r
), вносят заметную (возможно, 0,2 секунды) задержку перед запросом отображается. Использование history -n
так, чтобы только новые строки читались из файла истории, выполняется быстрее:
shopt -s histappend
PROMPT_COMMAND='history -a;history -n'
PROMPT_COMMAND
не нужно экспортировать, потому что это переменная оболочки.
Попробуйте вставить это в свой .bashrc
:
shopt -s histappend # append to history, don't overwrite it
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Кредит здесь: https://stackoverflow.com/questions/103944/real-time-history-export-amongst- bash-терминал-windows / 3055135
history -c
очищает историю запущенного сеанса. Это уменьшит счетчик истории на величину $HISTSIZE
. history -r
прочитайте содержимое $HISTFILE
и вставьте его в текущую историю сеанса работы. Это увеличит счетчик истории на количество строк в $HISTFILE
.
Я думаю, это означает, что команды доступны почти сразу (у вас есть один терминал, напишите echo 1
, второй терминал echo 2
, первый echo 3
и после двойного нажатия стрелки вниз вы должны получить echo 2
. Вы должны выполнить команду в данном терминале, чтобы иметь доступ к тому, что было написано.
Примечание для всех остальных ответов (которые в основном совпадают):
Достаточно установить PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
в .bashrc
(или в друзьях).
Также, вы можете вручную запустить history -a
, когда захотите «сделать снимок» истории в текущем сеансе.
Команда shopt -s histappend
не нужна, потому что history -a
всегда добавляет новые строки в файл и никогда не перезаписывает Это. Кроме того, по крайней мере, начиная с Bash 4, histappend
является поведением по умолчанию.
У меня большой файл истории с около 100000 записей, и варианты, которые очищают список истории и читают весь файл истории (используя history -c
и history -r
), вносят заметную (возможно, 0,2 секунды) задержку перед запросом отображается. Использование history -n
так, чтобы только новые строки читались из файла истории, выполняется быстрее:
shopt -s histappend
PROMPT_COMMAND='history -a;history -n'
PROMPT_COMMAND
не нужно экспортировать, потому что это переменная оболочки.
Попробуйте вставить это в свой .bashrc
:
shopt -s histappend # append to history, don't overwrite it
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Кредит здесь: https://stackoverflow.com/questions/103944/real-time-history-export-amongst- bash-терминал-windows / 3055135
history -c
очищает историю запущенного сеанса. Это уменьшит счетчик истории на величину $HISTSIZE
. history -r
прочитайте содержимое $HISTFILE
и вставьте его в текущую историю сеанса работы. Это увеличит счетчик истории на количество строк в $HISTFILE
.
Я думаю, это означает, что команды доступны почти сразу (у вас есть один терминал, напишите echo 1
, второй терминал echo 2
, первый echo 3
и после двойного нажатия стрелки вниз вы должны получить echo 2
. Вы должны выполнить команду в данном терминале, чтобы иметь доступ к тому, что было написано.
Примечание для всех остальных ответов (которые в основном совпадают):
Достаточно установить PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
в .bashrc
(или в друзьях).
Также, вы можете вручную запустить history -a
, когда захотите «сделать снимок» истории в текущем сеансе.
Команда shopt -s histappend
не нужна, потому что history -a
всегда добавляет новые строки в файл и никогда не перезаписывает Это. Кроме того, по крайней мере, начиная с Bash 4, histappend
является поведением по умолчанию.
У меня большой файл истории с около 100000 записей, и варианты, которые очищают список истории и читают весь файл истории (используя history -c
и history -r
), вносят заметную (возможно, 0,2 секунды) задержку перед запросом отображается. Использование history -n
так, чтобы только новые строки читались из файла истории, выполняется быстрее:
shopt -s histappend
PROMPT_COMMAND='history -a;history -n'
PROMPT_COMMAND
не нужно экспортировать, потому что это переменная оболочки.
Попробуйте вставить это в свой .bashrc
:
shopt -s histappend # append to history, don't overwrite it
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Кредит здесь: https://stackoverflow.com/questions/103944/real-time-history-export-amongst- bash-терминал-windows / 3055135
history -c
очищает историю запущенного сеанса. Это уменьшит счетчик истории на величину $HISTSIZE
. history -r
прочитайте содержимое $HISTFILE
и вставьте его в текущую историю сеанса работы. Это увеличит счетчик истории на количество строк в $HISTFILE
.
Я думаю, это означает, что команды доступны почти сразу (у вас есть один терминал, напишите echo 1
, второй терминал echo 2
, первый echo 3
и после двойного нажатия стрелки вниз вы должны получить echo 2
. Вы должны выполнить команду в данном терминале, чтобы иметь доступ к тому, что было написано.
Примечание для всех остальных ответов (которые в основном совпадают):
Достаточно установить PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
в .bashrc
(или в друзьях).
Также, вы можете вручную запустить history -a
, когда захотите «сделать снимок» истории в текущем сеансе.
Команда shopt -s histappend
не нужна, потому что history -a
всегда добавляет новые строки в файл и никогда не перезаписывает Это. Кроме того, по крайней мере, начиная с Bash 4, histappend
является поведением по умолчанию.