位置: 编程技术 - 正文

linux shell 中 2>&1的含义

编辑:rootadmin

linux shell 中"2>&1"的含义

脚本:

nohup /mnt/Nand3/HG >/dev/null 2>&1 &

对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了.其中0 表示键盘输入 1表示屏幕输出 2表示错误输出.把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。

command >out.file 2>&1 & command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个& , 是让该命令在后台执行。 试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

可以用

ls 2>1测试一下,不会报没有2文件的错误,但会输出一个空的文件1;ls xxx 2>1测试,没有xxx这个文件的错误输出到了1中;ls xxx 2>&1测试,不会生成1这个文件了,不过错误跑到标准输出了;ls xxx >out.txt 2>&1, 实际上可换成 ls xxx 1>out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt了。何2>&1要写在后面?

command > file 2>&1

首先是command > file将标准输出重定向到file中, 2>&1 是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。command 2>&1 >file2>&1 标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file 后输出才被重定向到file,但标准错误仍然保持在终端。

用strace可以看到:

1. command > file 2>&1这个命令中实现重定向的关键系统调用序列是:open(file) == 3dup2(3,1)dup2(1,2)

2. command 2>&1 >file

这个命令中实现重定向的关键系统调用序列是:

dup2(1,2)open(file) == 3dup2(3,1)

推荐整理分享linux shell 中 2>&1的含义,希望有所帮助,仅作参考,欢迎阅读内容。

linux shell 中 2>&1的含义

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

用expect实现的自动登录到多台服务器的shell脚本 #!/usr/bin/expect-fsetipaddress[lindex$argv0]setpasswd[lindex$argv1]settimeoutspawnsshroot@$ipaddress#expect"yes/no"#send"yesr"expect"password:"send"$passwdr"expect"]*"send"mkdir-p/tmp/haha/haha2r"s

shell脚本从SVN推送到多台服务器的代码 SRCDIR=/letv/data/www/htdocs_user/MOD=userIP_LIST=(..................)foriin${IP_LIST[*]}doecho-e"nnPUSH==$i==n"/usr/bin/rsync-vzr

检测网站down掉后自动发信的shell脚本代码 #!/bin/bash#websitetestscriptswhiletrue;doforcycle_tempin`caturl_list`doiflynx-dump`echo${cycle_temp}`-accept_all_cookies|grep"true";thenecho"Thewebsiteisrunningnaturally"elseecho"${cycle_temp}hasbeen

标签: linux shell 中 2>&1的含义

本文链接地址:https://www.jiuchutong.com/biancheng/376796.html 转载请保留说明!

上一篇:linux bash字符串处理大全(linux bash sh)

下一篇:shell脚本从SVN推送到多台服务器的代码(shell脚本switch)

  • 医疗机构销售药品需要销售记录吗
  • 企业增值税必须退税吗?
  • 税后净营业利润英文
  • 2021城建税
  • 公账转法人私账的注意事项
  • 个体户年报纳税额怎么填
  • 财务担保费计入什么科目
  • 商品报废了还用退货吗
  • 税务局财务报表报送期限
  • 发票采集即征即退怎么填
  • 减半征收附加税退回的分录
  • 无形资产日常维护支出会计处理
  • 筹建期间有收入怎么办
  • 在途物资可以结转成本吗
  • 售后回租的实际操作流程
  • 营改增各项业务销售额按照什么确定
  • 印花税计入税金及附加什么时候开始
  • 厂房租赁税率是房东交的吗
  • 差额纳税的会计处理
  • 旧税号的发票专用章还能使用吗
  • 不动产经营租赁属于现代服务吗
  • 所得税的税率有哪几种
  • 税务年报网上怎么申报小微企业
  • 视同销售的计税依据
  • 如何使用腾讯电子签维护自己的权益
  • 鸿蒙系统怎么开发
  • macos monterey支持哪些显卡
  • 支付的股权溢价款账务处理
  • 委外加工费用会计分录
  • PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
  • 拍卖公司收入计入什么分录
  • thinkphp钩子场景
  • 如何使用rank函数排名
  • php两个数组相加结果
  • 如何增加税务稽查信息
  • 雷尼尔国家公园攻略
  • 实收资本本年利润属于什么科目
  • vue+java+mysql
  • 【AIGC】1、爆火的 AIGC 到底是什么 | 全面介绍
  • 装饰工程开票项目
  • 应税货物及劳务无法录入
  • 固定资产没有价值怎么入账
  • 如何简单去除
  • 无形资产资本化和费用化的区别
  • mysql是自动提交的吗
  • 先给发票后付款做账
  • 预提费用没有收到发票也没有付款
  • 扣除未结话费是什么意思
  • 去年购进的货物怎么做账
  • 帮客户支付的机票计入什么科目
  • 认缴制下实收资本可以减少吗
  • 小规模出口免税是什么意思
  • 申请国家知识产权的条件
  • 百旺金赋领回来的发票怎么读入
  • 预缴增值税扣除额用填写吗
  • 预交企业所得税计算
  • 企业进口外汇额度限制
  • 怎样填写记账凭证
  • 建立mysql
  • MacBook怎么恢复出厂设置
  • linux共享
  • mac如何用u盘安装win10
  • win8优化驱动器
  • win10系统开机弹文件资源管理器窗口
  • windows传输到mac
  • centos 删除恢复
  • win70x80070002系统找不到指定的文件
  • win7如何彻底卸载软件
  • window10 .net3.5
  • 怎么禁止电脑qq自动启动
  • linux 如何
  • ExtJS PropertyGrid中使用Combobox选择值问题
  • ExtJS4 动态生成的grid导出为excel示例
  • js中...用法
  • css网页布局方式
  • javascript 继承
  • 安卓手机管家是什么
  • android software
  • js easyui
  • 耕地占用税减免税范围包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设