shell 中2>&1 和 $>区别
时间: 2024-05-10 17:11:24 浏览: 16
在Shell中,2>&1和$>都是用于重定向标准错误输出的操作符,但它们有一些区别。
1. 2>&1:这个操作符将标准错误输出(文件描述符2)重定向到标准输出(文件描述符1)。它的作用是将错误信息和正常输出信息合并到同一个地方,方便查看和处理。例如,如果你执行命令`command 2>&1`,则标准错误输出将会和标准输出一起显示在终端上。
2. $>:这个操作符用于将标准输出重定向到一个文件。它的作用是将命令的输出结果保存到指定的文件中,而不是显示在终端上。例如,如果你执行命令`command > output.txt`,则命令的输出结果将会被写入到名为output.txt的文件中。
相关问题
shell中使用&>>和2>>&1的区别
`&>>` 和 `2>>&1` 都是 Shell 中的重定向运算符,但它们的作用是不同的。
`&>>` 将命令的标准输出和标准错误输出都追加到文件中,类似于 `>>` 运算符。例如,以下命令将 `ls` 命令的标准输出和标准错误输出都追加到 `file.txt` 文件中:
```
ls &>> file.txt
```
`2>>&1` 则将命令的标准错误输出重定向到标准输出,然后再将标准输出重定向到文件。例如,以下命令将 `ls` 命令的标准输出和标准错误输出都重定向到 `file.txt` 文件中:
```
ls &> file.txt
```
这与 `ls > file.txt 2>&1` 的效果相同,它将标准输出和标准错误输出都重定向到文件中。
总之,`&>>` 将标准输出和标准错误输出都追加到文件中,而 `2>>&1` 则将标准错误输出重定向到标准输出,然后将标准输出重定向到文件中。
Shell 脚本中 1>&2 与 2>1& 的区别
1> 表示标准输出重定向,将标准输出(即stdout)重定向到指定的文件或设备中。例如:
- command 1> file:将command的标准输出写入file中。
- command 1> /dev/null:将command的标准输出丢弃,不输出任何信息。
- command 1> &2:将command的标准输出重定向到标准错误输出(即stderr)中。
注意,在不指定文件描述符的情况下,默认使用的是标准输出(即1),因此 1> 可以简写为 >。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)