「サブシェル」メソッドを使用するときにスペースと改行文字を保持する

「サブシェル」メソッドを使用するときにスペースと改行文字を保持する

私の問題を説明するために、次のコードを参照します。

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

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

echo $cmd

次に、上記のスクリプトでは、二重引用符を使用して に値を割り当てましたcmd。この方法では、出力でスペースと改行文字を保持できると読んだからです。いずれにしても、それは起こりません。

どこが間違っているのか誰か教えてもらえますか? さらに、スペースと改行を保持する方法も教えていただけますか?

私の問題が適切な方法で明らかにされたことを望みます。よろしくお願いいたします。

答え1

代入ステートメントではなく、echo ステートメントで引用符で囲む必要があります。

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

関連情報