如何在 bash 中通过回显输出带有'n'的字符串



这是我的问题:我想输出进程的名称,这是我的句子: 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选项。

相关内容

  • 没有找到相关文章

最新更新