我想对我的 bash 脚本进行一些故障排除。是否有一个简短的命令可以生成这两个命令,stdout
以便stderr
我可以使用2>&1
它?抱歉,如果这看起来微不足道,但我现在想不出一个。
答案1
一个简单的方法是使用ls
列出实际和虚构的文件:
ls . *.blah
这假设有是工作目录中的可见文件,并且您不有任何以1结尾的文件.blah
1. ...如果您这样做,我们不会评判您。
答案2
只需编写一个发送到stdout
并stderr
...的子shell
(echo STDOUT && echo STDERR >&2)
为了证明它有效:
(echo STDOUT && echo STDERR >&2) > STDOUT.txt 2> STDERR.txt
这将分别创建包含单词STDOUT.txt
and的文件and 。STDERR.txt
STDOUT
STDERR
答案3
ls / /x
df / /x
wc / /etc/passwd
od / /dev/null
保证标准输出写入前标准错误:
(w;/) # Bourne/csh like shells only.
sh -c 'w;/'
'time' w
答案4
您可以编写一个函数供以后使用:
gen_stdout_stderr() {
printf "%s\n" "STDERR" >&2
printf "%s\n" "STDOUT"
}
然后:
$ gen_stdout_stderr
STDERR
STDOUT