我想用一些进程的编号代替它来找出其命令行,如下所示:
> cat /proc/"`fuser /dev/ttyS0`"/cmdline
cat: /proc/5231 /cmdline: No such file or directory
但是
fuser
似乎为PID添加了一个额外的空格。任何想法如何做到这一点,否则解决?预期的行为:我想使用
fuser
获取进程ID,并在第二步中显示/proc/<id>/cmdline
。 最佳答案
我认为echo \"`fuser /dev/ttyS0`\"
会告诉您存在领先空间。如果将操作分为两个步骤,则可以执行以下操作
u=`fuser /dev/ttyS0`
cat /proc/${u// /}/cmdline
因此,首先将
fuser
的结果分配给变量u
(仍将包含空格),然后删除u
中的所有空格(以//
开始模式替换将替换所有出现的模式,如果您仅使用/
,则第一个匹配项将被替换-在您的示例中这不是问题)。