gpt4 book ai didi

linux - 管道输出切割

转载 作者:IT王子 更新时间:2023-10-29 00:24:57 25 4
gpt4 key购买 nike

我正在尝试获取执行脚本的 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 - 管道输出切割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9388623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com