linux – 管道输出切割

前端之家收集整理的这篇文章主要介绍了linux – 管道输出切割前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图获取执行脚本的 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

或者你可以坚持你必须开始的. 原文链接:https://www.f2er.com/linux/393631.html

猜你在找的Linux相关文章