
想把所有的输出都重定向到 stdout,有什么技巧吗
eg: apt install 666 >/dev/stdout 2>&1 apt install 666 2>&1 如果一个 shell 脚本里所有的输出都要打到 stdout,有什么技巧吗 补充一下,是其他程序调用shell脚本,程序捕获整个脚本的stderr(脚本与程序约定好了格式),避免脚本中某些命令执行失败影响程序获取的结果,想将脚本中所有错误输出都打到标准输出,但是人为约定标准错误输出。举个列子
#!/bin/bash function log.info(){ echo "$*" } function log.stderr(){ echo "$*" >&2 } function test(){ log.info "test" apt install 666 #想把这个输出打到标准输出 log.stderr "install 666 error" } 1 whypool 2017 年 11 月 15 日 echo ? |
2 kkk330 2017 年 11 月 15 日 via iPhone tty |
3 lululau 2017 年 11 月 15 日 your_script.sh &> file.out |
yout_script.sh 2>&1 |
5 hsuan 2017 年 11 月 15 日 via Android 你可以试一下 exec |
6 lululau 2017 年 11 月 15 日 如果不想在脚本内部整体控制,在脚本开头执行: exec 2>&1 |
7 lululau 2017 年 11 月 15 日 如果想在脚本内部整体控制,在脚本开头执行: exec 2>&1 |