以下是我的情景:
我使用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
答案 0 :(得分:4)
使用echo "$textInfo"
代替echo $textInfo
。否则,变量将作为命令行的一部分而不是字符串进行扩展,因此不会保留换行符。
答案 1 :(得分:0)
试试这个:
textInfo=$(ls -l /corefiles/ | grep "root")
然后
echo "$textInfo"