答:Shell脚本中,2>&1是一种重定向操作符,用于将标准错误输出(stderr,文件描述符为2)重定向到标准输出(stdout,文件描述符为1)。这样可以将错误信息和标准输出一起输出到同一个log文件中。 即,2表示标准错误输出的文件描述符,1表示标准输出的文件描述符,而>表示重定向操作符,&表示将文件描述符和文件进行关联。
&1用来表示文件描述符1(stdout)的地址。当使用2>&1时,其实就是把stderr的输出重定向到stdout的地方,这样,就可以把程序的标准输出和标准错误输出都输出到一个地方了。$ cat math.sh >multiplication_tables.sh 2>&1 $ cat multiplication_tables.sh #! /bin/bash for((i=1;i<10;i++)) do for((j=1...
1.首先由f,log两个文件,ll f1 > log 2 >&1,意思是标准输出和错误都输出到log中,所以cat log中有错误信息。 2.再看第二个,首先由f,log两个文件,ll f2 > log >&2,意思是标准输出重定向到log中,标准输出又重定向到标准错误中,因为标准错误是输出到屏幕的,所以不管ll f2是存在还是不存在都会在屏幕上显...
command > output 是 command 1> output 的缩写 可以使用 &[FILE_DESCRIPTOR] 来引用文件描述符的值(或者叫指向文件描述符的地址) 使用2>&1 来重定向 stderr 的输出至 stdout 的地方(你可以用 1>&2 来进行反向操作)
shell脚本中的0 1 2文件描述符 在shell脚本中常用的文件描述符有三个,分别为: 0: 标准输入 1: 标准输出 2: 标准错误 经常会看到脚本中出现"2>&1"或"2>error.txt"或"command >file.out 2>file.err"等描述. 首先'>'或者'>>'是重定向符,'&'是一个描述符,如果1或2前不加&,那就会变成文件1或文件...
。简单的来说就是有一个整数,它的枚举值是0(标准输入),1(标准输出),2(标准错误),然后0是从键盘输入,1和2都是输出到屏幕上。 3.我们了解了整数的含义之后再来看就比较好理解了,对于重定向符号">",我们可以这么理解: 文件描述符 > 文件.比如 ls > a.txt,就是说把ls的输出存入a.txt, >等于 1 >, ...
在Shell脚本中,">/dev/null 2>&1"是一个常见的操作,用于管理和控制命令的输出。理解这个语句的关键在于理解它的各个部分。首先,"/dev/null"是一个特殊的设备文件,用于丢弃所有写入的数据,这里起到了屏蔽输出的作用。">"符号用于重定向,当它后面跟着"/dev/null"时,意味着将标准输出(stdout,...
Shell 传递参数我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……实例以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:;!/bin/bash;
1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。 2>&1 接着,标准错误输出重定向等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。 A. 1> /dev/null 表示将命令的标准输出重定向到 /dev/null2>/...
2表示标准错误, >表示重定向 ,/dev/mull表示空设备 2>/dev/nul,将标准错误重定向到空设备里,即不输出错误信息