Linux. Можно ли сохранить вывод консоли в переменной, но в том же формате, что и в консоли?

Вот мой сценарий:

ну я использую csh

1)

$ ls -l /corefiles/ | grep "root"
-rw-r----- 1 root  root   0 Sep 22  2014 core.3.4.
-rwxr-x--- 1 root  root  92 Sep 22  2014 ss.sh

2)

$ set textInfo=`ls -l /corefiles/ | grep "root"`
$ echo $textInfo
-rw-r----- 1 root root 0 Sep 22 2014 core.3.4. -rwxr-x--- 1 root root 92 Sep 22 2014 ss.sh

Но мне нужно echo $textInfo, чтобы выдать вывод, например 1).

Как я могу этого добиться? Я не хочу перенаправлять содержимое в файл. Мне нужно сохранить вывод консоли в переменной, но в том же формате, что и в консоли.

Мне нужна переменная, которая имеет содержимое, как показано ниже:

$ echo $textInfo
-rw-r----- 1 root  root   0 Sep 22  2014 core.3.4.
-rwxr-x--- 1 root  root  92 Sep 22  2014 ss.sh

person Sunil Kumar    schedule 04.07.2014    source источник
comment
возможный дубликат Как бы вы включили символы новой строки в эхо-команда C-shell?   -  person James McLaughlin    schedule 04.07.2014


Ответы (2)


Используйте echo "$textInfo" вместо echo $textInfo. В противном случае переменная раскрывается как часть командной строки, а не как строка, поэтому новые строки не сохраняются.

person James McLaughlin    schedule 04.07.2014
comment
Это не сработало, все тот же результат, вывод идет в той же строке. - person Sunil Kumar; 04.07.2014
comment
он работает в «sh», но мне нужен такой же cmd в «csh» (cshell), он не работает в csh - person Sunil Kumar; 04.07.2014
comment
Похоже, это ограничение csh. Я только что нашел еще один вопрос, задающий то же самое. - person James McLaughlin; 04.07.2014

попробуй это:

textInfo=$(ls -l /corefiles/ | grep "root")

потом

echo "$textInfo"

person hcg    schedule 04.07.2014
comment
он работает в «sh», но мне нужен такой же cmd в «csh» (cshell), он не работает в csh - person Sunil Kumar; 04.07.2014