Bash STDIN,STDOUT和STDERR的说明
示例
命令具有一个输入(STDIN)和两种输出,标准输出(STDOUT)和标准错误(STDERR)。
例如:
标准输入
root@server~# read Type some text here
标准输入用于向程序提供输入。(这里我们正在使用read内置函数从STDIN中读取一行。)
标准输出
root@server~# ls file file
标准输出通常用于命令的“常规”输出。例如,ls列出文件,以便将文件发送到STDOUT。
斯特德
root@server~# ls anotherfile ls: cannot access 'anotherfile': No such file or directory
标准错误(顾名思义)用于错误消息。由于此消息不是文件列表,因此将其发送到STDERR。
STDIN,STDOUT和STDERR是三个标准流。它们通过数字而不是名称来标识到外壳程序:
0=标准输入
1=标准输出
2=标准错误
默认情况下,STDIN连接到键盘,并且STDOUT和STDERR都出现在终端中。但是,我们可以将STDOUT或STDERR重定向到所需的任何内容。例如,假设您只需要标准输出,并且应该禁止显示所有显示在标准错误上的错误消息。那就是我们使用描述符1和的时候2。
将STDERR重定向到/dev/null
拿上一个例子,
root@server~# ls anotherfile 2>/dev/null root@server~#
在这种情况下,如果有任何STDERR,它将被重定向到/dev/null(一个特殊文件,它忽略其中的任何内容),因此在shell上不会输出任何错误。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短