Я захожу на множество серверов через ssh
.Обычно я просто использую простой bash
поиск по истории , чтобы просмотреть историю команд 'ssh' и найти нужную мне.Однако, в конце концов, мой .bash_history
достигает своего предела, и я начинаю терять записи, несмотря на увеличение пределов и т. Д.
Я бы предпочел просто настроить свой $PROMPT_COMMAND
так, чтобы после каждой команды он проверял,Я запустил команду с ssh
и, если это так, добавил эту команду в файл где-нибудь.
Я видел некоторые соответствующие вопросы, задаваемые здесь и здесь , но я изо всех сил пытаюсь понять, как использовать их в функции, которую я могу получить из моих .bashrc
идобавьте к моему $PROMPT_COMMAND
, который проверит, началась ли последняя введенная команда с ssh
, и скопирует ее в файл.
Например, это не работает:
$ PROMPT_COMMAND="echo; foo; "
$ foo () { echo "command was: $BASH_COMMAND" ; }
$ ssh cn-0030
...(Ctrl-D)...
$ logout
Connection to cn-0030 closed.
command was: echo "command was: $BASH_COMMAND"
Этотакже не работает:
$ foo () { echo !! | grep ssh --color ; }
Поскольку !!
сразу же расширяется до фактического последнего выполнения команды, а затем сохраняется в foo
, вместо оценки при оценке foo