这是我的问题:我想输出进程的名称,这是我的句子: 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脚本中使用句子来获得第一个结果,我应该如何?
使用引号。
echo "$(ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d')"
对于您的特定情况,引用将有效:
echo "`ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d'`"
或:
echo "$(ps -a | tr -s ' ' ' ' | cut -d' ' -f5 | sed '1d')"
并且如果要在任何字符串中解释n
,则是一个示例:
echo -e "nStringnWithnNewline"
#quoting is necessary
您必须使用-e
选项。