小编LeP*_*bre的帖子

试图理解 bash 重定向语法及其输出

我是 Linux 新手,并试图了解重定向的工作原理。

我一直在测试用于重定向stdoutstderr到同一个文件的各种语法,这些语法并不都产生相同的结果。

例如,如果我尝试列出 2 个不存在的文件 ( file1and file2) 和 2 个不存在的文件( fooand fz):

语法 #1(无重定向):

$ ls file1 foo fz file2
Run Code Online (Sandbox Code Playgroud)

这是我在终端中得到的输出:

ls: cannot access file1: No such file or directory
ls: cannot access file2: No such file or directory
foo  fz
Run Code Online (Sandbox Code Playgroud)

语法#2:

现在,通过重定向:

$ ls file1 foo fz file2 > redirect 2>&1
Run Code Online (Sandbox Code Playgroud)

redirect文件包含与语法 #1 的结果相同:

ls: cannot access file1: No such file or directory
ls: cannot …
Run Code Online (Sandbox Code Playgroud)

bash io-redirection stdout stderr

5
推荐指数
3
解决办法
297
查看次数

标签 统计

bash ×1

io-redirection ×1

stderr ×1

stdout ×1