Bewahren Sie Leerzeichen und Zeilenumbruchzeichen bei Verwendung der Methode „Subshell“

Bewahren Sie Leerzeichen und Zeilenumbruchzeichen bei Verwendung der Methode „Subshell“

bei der Beschreibung meines Problems beziehe ich mich auf den folgenden Code:

#!/bin/bash
#fileName: subMet.sh

cmd="$(ls -l | cat -n)"

echo $cmd

Dann habe ich im obigen Skript doppelte Anführungszeichen verwendet, um einen Wert zuzuweisen cmd, weil ich gelesen habe, dass es auf diese Weise möglich ist, Leerzeichen und Zeilenumbruchzeichen in der Ausgabe beizubehalten. Jedenfalls passiert das nicht.

Kann mir jemand sagen, wo ich falsch liege? Oder besser noch, kann mir jemand sagen, wie ich die Abstände und Zeilenumbrüche beibehalte?

Ich hoffe, dass ich mein Problem angemessen dargelegt habe und danke Ihnen im Voraus.

Antwort1

Sie sollten es in der Echo-Anweisung zitieren, nicht in der Zuweisungsanweisung.

cmd=$(ls -l | cat -n)
echo  "$cmd"

verwandte Informationen