当我使用
2> >(tee stderr.log >&2)
在命令前面带有 sh-4.1$ 的 shell 中,它不起作用。但是,如果开头显示 username@hostname,它可以工作。
另外 - 这是在使用 PHP 打开屏幕时。我应该如何更改我的脚本才能使其正常工作?
脚本是:
php exec("screen -S SCREENNAME -p 0 -X stuff 'COMMAND 2> >(tee stderr.log >&2)");
最佳答案
当您的提示以“sh”开头时,它是在 中运行的 bash。 sh 兼容模式 ,它没有进程替换。您的命令必须通过 bash 运行;运行 bash -c
并传递命令以作为字符串运行。
关于php - user@host 和 sh-4.1$ 之间的区别(使用 GNU 屏幕),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991290/