bash:以其他用户身份运行时无法读取/dev/stdin

bash:以其他用户身份运行时无法读取/dev/stdin

为了进行调试,我想替换foo通常由用户运行的可执行文件vmail,以记录参数和标准输入。这是替换脚本的一部分:

#!/bin/bash
while read line
do
  echo "$line" >> logfile
done < /dev/stdin

这失败了。因此,为了测试它,我运行它如下:

# su -s /bin/bash vmail
$ ./foo

这也失败了,/dev/stdin: Permission denied因为在新的 shell 中 仍然由我拥有(并且只能读取)。有什么修复建议吗?由于“模糊重定向”错误,/dev/stdin我无法简单地使用。谢谢。cat

相关内容