想把所有的输出都重定向到 stdout,有什么技巧吗
eg:
apt install 666 >/dev/stdout 2>&1
apt install 666 2>&1
如果一个 shell 脚本里所有的输出都要打到 stdout,有什么技巧吗
想把所有的输出都重定向到 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"
}
|
whypoolNov 15, 2017
1
echo ?
|
|
kkk330Nov 15, 2017 via iPhone
2
tty
|
|
lululauNov 15, 2017
3
your_script.sh &> file.out
|
|
lululauNov 15, 2017
4
yout_script.sh 2>&1
|
|
5
你可以试一下 exec
|
|
lululauNov 15, 2017
6
如果不想在脚本内部整体控制,在脚本开头执行:
exec 2>&1 |
|
7
如果想在脚本内部整体控制,在脚本开头执行:
exec 2>&1 |