Установите пользовательскую подсказку bash через ssh или putty
При входе на сервер я хотел бы, чтобы в моем приглашении bash отображалось время, поэтому, когда я проверяю предыдущие действия, которые я сделал, я вижу, в какое время я это сделал. Я думаю, что это особенно полезная функция при попытке отладки.
Это может выглядеть так:
[root@server 11:46:02 ~]# ls
file1 file2
[root@server 11:47:50 ~]# whoami
root
Я обнаружил, что вроде как могу сделать это с ssh
:
ssh root@server -t "export PS1='[\u@\h $(date +%H:%M:%S) \W]\$ '; exec bash"
ssh root@server -t "export PS1='[\u@\h \t \W]\$ '; exec bash"
Но очевидно, что дата не будет обновляться каждый раз, когда я набираю что-то новое.
Я вообще не понял, как это сделать из PuTTY - я вижу, что в Соединениях -> Данные есть настройка для отправки переменных окружения на сервер, но это не работает.
Обратите внимание, что я не хочу ничего менять на стороне сервера (без изменений sshd, без изменений bashrc или профиля):)
2 ответа
Я не могу помочь вам с замазкой, но учтите, что в bash есть код для текущего времени, поэтому вы можете заменить $(date +%H:%M:%S)
от \t
,
Несмотря на то, что я не нашел ответа для PuTTY, я нашел лучшую альтернативу:
1. установите Cygwin (и наслаждайтесь лучшей производительностью)
2. добавьте ярлык Cygwin в мой PATH, чтобы я мог сделать WIN+R и набрать cyg, чтобы открыть терминал
3. добавьте эту функцию в Cygwin ~/.bashrc:
ssh () { /usr/bin/ssh "$@" -t "export PS1='[\t \u@\h \W]\$ '; exec bash"; }
Открыть Cygwin или source ~/.bashrc
а также ssh user@server
и подскажите как я этого хочу *:[12:03:08 user@server ~]$
* Работает на CentOS или AWS Linux. Не работает на Ubuntu, потому что он переопределяет $PS1.
Отказ от ответственности: застрял в Windows, не может установить Ubuntu или двойной загрузки. ВМ не вариант. /Плач