如果我使用这个
cmd 2>/var/error.log
在subprocess中redirect标准输出对父进程是否也这样做?
通过inputredirect将parameter passing给Bash Shell脚本(<)
发送stderr / stdout消息来运行和陷阱出口信号
如何遍历Bash中的所有ASCII字符?
Ruby on Rails:我如何指定运行脚本环境
Java执行运行守护进程脚本的Bash脚本
在boot2docker中使用shell命令
如何使用参数在远程服务器上执行本地脚本
这将在终端上显示stdout和stderr,而只发送stderr到err.log :
cmd 2> >(tee err.log >&2)
>(...)是进程替换 。 (两个连续之间的空格是必不可少的)。这会将stderr和stderr发送到tee命令。
>&2导致错误消息保留在stderr中。 这很重要,例如,如果这行发生在stdin或stderr被重定向的脚本中。 (帽子提示:Chepner。)
cmd 2>&1 | tee /tmp/error.log