linux shell "" ,"

您所在的位置:网站首页 输出重定向的符号是什么意思 linux shell "" ,"

linux shell "" ,"

2024-06-26 12:51| 来源: 网络整理| 查看: 265

linux 关于标准输入输出的规定

Linux规定一下文件描述符

文件描述符 文件 对应设备 0 标准输入 keyboard,mouse 1 标准输出 屏幕监视器 2 错误输出 屏幕监视器

image

输出重定向>,>>

>和>>都是输出重定向符号

其中>是重写 >>是追加到文件 image 进阶 Shell中 1>&2 2>&1 &> 重定向的含义

通常1>简写成>指的是标准输出 实例:

# ll test01.txt test02.txt 1>file.out 2>file.err

命令执行,没有任何返回值,原因是,返回值都重定向到相应的文件中了,而不再在前端显示。 在这个命令中,1代表标准输出(stdout),2代表标准错误(stderr)。当你使用命令ll test01.txt test02.txt 1>file.out 2>file.err时,标准输出和标准错误会被分别重定向到file.out和file.err。

注意:这两个重定向操作是同时进行的,并没有先后顺序。因此,标准输出和标准错误会分别被重定向到指定的文件,互不影响。

高级用法,难理解 基于上述认识,我们才能理解 "1>&2" 和 "2>&1".。 1>&2  正确返回值传递给2输出通道, &2表示2输出通道 ,如果此处错写成 1>2, 就表示把1输出重定向到文件2中了。 2>&1 错误返回值传递给1输出通道,&1表示1输出通道。 总结就是&表示通道,不加&后面直接写到文件 实例: "2>&1"和"2>1"在shell中有着不同的含义: - "2>&1"表示将标准错误(stderr)重定向到标准输出(stdout)。这意味着标准错误和标准输出都会发送到同一个地方,通常是终端或重定向的位置。 - "2>1"表示将标准错误重定向到一个名为"1"的文件。这意味着标准错误会被写入一个名为"1"的文件中,而不是作为标准输出的一部分。

因此,这两个表达式的含义是不同的,你需要根据具体的需求来选择使用哪一个。

输入重定向

输出重定向的符号是



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3