linux – 管道输出切割

linux – 管道输出切割,第1张

概述我试图获取执行脚本的 shell的名称. 为什么 echo $(ps | grep $PPID) | cut -d" " -f4 工作时间 echo ps | grep $PPID | cut -d" " -f4 才不是? 原因是这样 echo ps 只打印字符串ps;它不运行程序ps.您的命令的更正版本将是: ps | grep $PPID | cut -d" " -f4 编辑添加:paxdia 我试图获取执行脚本的 shell的名称.

为什么

echo $(ps | grep $PPID) | cut -d" " -f4

工作时间

echo ps | grep $PPID | cut -d" " -f4

才不是?

解决方法 原因是这样
echo ps

只打印字符串ps;它不运行程序ps.您的命令的更正版本将是:

ps | grep $PPID | cut -d" " -f4

编辑添加:paxdiablo指出ps | grep $PPID包含很多空格,它将被echo $(ps | grep $PPID)收起(因为$(…)的结果),当它不是双引号时,会被空格分割成单独的参数,然后echo输出所有由空格分隔的参数).为了解决这个问题,您可以使用tr来“挤压”重复的空格:

ps | grep $PPID | tr -s ' ' | cut -d' ' -f5

或者你可以坚持你必须开始的. 总结

以上是内存溢出为你收集整理的linux – 管道输出切割全部内容,希望文章能够帮你解决linux – 管道输出切割所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存