Сохраните все команды 'ssh' в файл - PullRequest
0 голосов
/ 18 декабря 2018

Я захожу на множество серверов через 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

...