我想用一些进程的号码替换它的命令行,如下所示:
> cat /proc/"`fuser /dev/ttyS0`"/cmdline
cat: /proc/5231 /cmdline: No such file or directory
但看起来fuser
为PID添加了额外的空格。知道如何做到这一点,或解决其他方法吗?
预期行为:我想使用fuser
获取流程ID,然后在第二步中显示/proc/<id>/cmdline
。
答案 0 :(得分:0)
我认为echo \"`fuser /dev/ttyS0`\"
会告诉你有一个领先的空间。如果您分两步拆分操作,则可以执行以下操作
u=`fuser /dev/ttyS0`
cat /proc/${u// /}/cmdline
首先,您将fuser
的结果分配给变量u
(仍将包含空格),然后删除u
中的所有空格(开始使用//
替换所有出现的模式,如果您只使用/
,则只会替换第一次出现 - 这在您的示例中不会出现问题。)