这是我的问题:我想输出进程名称,这是我的句子:
ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d'
,它可以作为我的例外。
结果如下:
sh-4.3# ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d'
ps
tr
cut
sed
但是如果我使用“echo ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d'
”,结果与使用前一句话得到的结果不一样。
结果如下:
sh-4.3# echo `ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d'`
sh ps tr cut sed
我希望通过使用 Shell脚本中的句子获得第一个结果,我该怎么办?
答案 0 :(得分:1)
使用引号。
echo "$(ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d')"
答案 1 :(得分:0)
对于您的特定情况,引用将起作用:
echo "`ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d'`"
或:
echo "$(ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d')"
如果你想在任何字符串中解释\n
,那么这是一个例子:
echo -e "\nString\nWith\nNewline"
#quoting is necessary
您必须使用-e
选项。