Сохранение пробелов и символов новой строки при использовании метода «subshell»

Сохранение пробелов и символов новой строки при использовании метода «subshell»

Описывая свою проблему, я ссылаюсь на следующий код:

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

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

echo $cmd

Затем, в скрипте выше я использовал двойные кавычки, чтобы присвоить значение cmd, потому что я читал, что таким образом можно сохранить пробелы и символы новой строки в выводе. В любом случае этого не происходит.

Может кто-нибудь сказать мне, где я не прав? Более того, может кто-нибудь сказать мне, как сохранить интервалы и переносы строк?

Надеюсь, я изложил свою проблему доходчиво, и заранее благодарю вас.

решение1

Его следует указывать в операторе echo, а не в операторе присваивания.

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

Связанный контент