Linux - 是否可以将控制台输出存储在变量中,但格式与控制台中的格式相同?

时间:2014-07-04 12:23:08

标签: linux unix csh

以下是我的情景:

我使用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

2 个答案:

答案 0 :(得分:4)

使用echo "$textInfo"代替echo $textInfo。否则,变量将作为命令行的一部分而不是字符串进行扩展,因此不会保留换行符。

答案 1 :(得分:0)

试试这个:

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

然后

echo "$textInfo"