У меня есть сценарий:
export TERM=xterm
watch -t -d -n 1 'netstat -veeantpo | grep 43597
когда мы запускаем этот скрипт через ssh, он не определяет разрешение монитора. поэтому строки переносятся, хотя есть место для отображения результатов. Вы можете увидеть результат на картинке. (Я удалил завершающий пробел после ESTABLISHED
).
решение1
Добавьте -t
в свой ssh. По умолчанию, когда вы передаете команду в ssh, он не выделяет TTY на удаленном хосте, поэтому у приложения есть только базовый канал STDOUT для работы.
ssh -t foobar 'watch -t -d -n 1 "netstat -veeantpo | grep 43597"'
решение2
Ваша терминальная информация не передается на удаленную сторону. Вы можете либо настроить свой SSH-клиент и конфигурацию сервера для передачи переменных, либо пойти простым путем и поместить их в командную строку:
"TERM=$TERM COLUMNS=$COLUMNS LINES=$LINES watch -n 1 top -bn 1