相关疑难解决方法(0)

shell 执行命令和流重定向的顺序是什么?

我试图重定向都stdoutstderr到文件的今天,我碰到这个就来了:

<command> > file.txt 2>&1
Run Code Online (Sandbox Code Playgroud)

这显然重定向stderrstdout第一个,然后结果stdout被重定向到file.txt.

但是,为什么不是顺序<command> 2>&1 > file.txt?人们自然会将此解读为(假设从左到右执行)首先执行的命令,然后stderr重定向到stdout,然后将结果stdout写入file.txt. 但以上只重定向stderr到屏幕。

shell 如何解释这两个命令?

command-line bash redirect

34
推荐指数
4
解决办法
5236
查看次数

带重定向的命令中的空格

program 2> error.log 
program &> filename 
program >> filename 2>&1
program 2>&1
Run Code Online (Sandbox Code Playgroud)

我能够弄清楚这些行的含义。

但是我不太明白我应该把空格放在哪里。我也担心放在哪里实际上并不重要。谢谢阅读。

command-line bash redirect

7
推荐指数
1
解决办法
2523
查看次数

标签 统计

bash ×2

command-line ×2

redirect ×2