我们正在为实习生举办讲习班,讲解 Bash。其中一个主题是重定向,因为它非常重要。
到目前为止,我们解释了>
彼此2>
独立。我们的例子是
echo Hello world
echo Hello world > file.txt
let x=1/0
let x=1/0 2> file2.txt
对于理解stdout
和概念的程序员来说strerr
,这不是问题。
然而,对于实习生来说,这两种情况的唯一效果是:输出消失了,并被重定向到一个文件中。
我正在寻找一个可以同时生成常规输出 ( stdout
) 和错误输出 ( stderr
) 的命令。这样,我们就可以>
仅重定向输出的一部分、2>
重定向另一部分或同时重定向两者以获取 2 个文件。
命令应该比较简单,不需要太多准备。准备越多,出错的可能性就越大。
答案1
我会用类似
ls file not-a-file
file
当前目录中存在且不存在not-a-file
。显然,您可以将其替换ls
为任何其他采用文件名参数的简单命令。