今天我用grep写shell的时候,发现一个很奇怪的问题,当我用命令grep搜索数据时,返回的多行数据时是按每行显示的,但是当我在shell里把这个搜索命令赋值到变量后,输出这个变量,就变成一行输出了,百度也查不到,有什么办法解决么?
用命令投入:
[root@wangc TP]# top -bHn 1 | grep -ri telnetd
4776 root 15 0 3360 1100 892 S 0.0 0.0 0:00.31 telnetd
18133 root 16 0 4464 1100 892 S 0.0 0.0 0:00.01 telnetd
18325 root 15 0 2784 1096 892 S 0.0 0.0 0:00.01 telnetd
31130 root 15 0 2768 1104 892 S 0.0 0.0 0:00.12 telnetd
31416 root 15 0 4524 1100 892 S 0.0 0.0 0:00.08 telnetd
用shell投入:
[root@wangc TP]# ./search.sh
4776 root 15 0 3360 1100 892 S 0.0 0.0 0:00.31 telnetd 18133 root 16 0 4464 1100 892 S 0.0 0.0 0:00.01 telnetd 18325 root 15 0 2784 1096 892 S 0.0 0.0 0:00.01 telnetd 31130 root 15 0 2768 1104 892 S 0.0 0.0 0:00.13 telnetd 31416 root 15 0 4524 1100 892 S 0.0 0.0 0:00.08 telnetd
[root@CrossCompileServer188 TP]# cat lcs_search.sh
#! /bin/sh
echo -e $(top -bHn 1 | grep -ri telnetd)