Ich habe ein Skript:
export TERM=xterm
watch -t -d -n 1 'netstat -veeantpo | grep 43597
Wenn wir dieses Skript über SSH ausführen, wird die Bildschirmauflösung nicht ermittelt. Daher werden Zeilen umgebrochen, obwohl Platz zum Anzeigen von Ergebnissen vorhanden ist. Sie können das Ergebnis im Bild sehen. (Ich habe das nachstehende Leerzeichen nach entfernt. ESTABLISHED
)
Antwort1
Fügen Sie es -t
zu Ihrem SSH hinzu. Wenn Sie einen Befehl an SSH übergeben, wird standardmäßig kein TTY auf dem Remote-Host zugewiesen, sodass die Anwendung nur mit einer einfachen STDOUT-Pipe arbeiten kann.
ssh -t foobar 'watch -t -d -n 1 "netstat -veeantpo | grep 43597"'
Antwort2
Ihre Terminalinformationen werden nicht an die Remote-Seite weitergegeben. Sie können entweder Ihre SSH-Client- und Serverkonfiguration optimieren, um die Variablen weiterzugeben, oder den einfachen Weg wählen und sie in Ihre Befehlszeichenfolge einfügen:
"TERM=$TERM COLUMNS=$COLUMNS LINES=$LINES watch -n 1 top -bn 1