Frage

Ich versuche, die folgenden in einem Bash-Skript zu tun:

com=`ssh host "ls -lh"`

echo $com

Es funktioniert, aber das Echo wird die Ausgabe bricht (statt alle Zeilen in einer Spalte bekommen, bekomme ich sie alle in einer Reihe).

Wenn ich das tue. ssh host ls -lh im CLI es gibt mir die korrekte Ausgabe und das Layout

Wie kann ich das Layout beibehalten, wenn eine Variable Echo?

War es hilfreich?

Lösung

Sie brauchen:

echo "$com"

Die Zitate machen die Schale nicht den Wert zerfallen in „Worte“, aber es als ein einziges Argument zu echo passieren.

Andere Tipps

Setzen Sie doppelte Anführungszeichen um $ com:

com=`ssh host "ls -lh"`
printf "%s" $com | tr -dc '\n' | wc -c   # count newlines
printf "%s" "$com" | tr -dc '\n' | wc -c
echo "$com"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top