位置: 编程技术 - 正文

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)

  • 税金返还需要交税吗
  • 应付税费重分类如何做会计分录?
  • 特定业务计算的应纳税所得额
  • 企业所得税的征收对象是什么
  • 契税的具体适用税率是多少
  • 建筑业增值税税率2022
  • 转让金融资产需要交税吗
  • 去年滞纳金没入营业外今天怎么账务处理
  • 装修行业开票税率
  • 一般纳税人要做价税分离吗
  • 视同销售的八种情况
  • 材料实际成本包括哪些内容
  • 异地成立分公司
  • 全额税前扣除的公益捐赠有几类
  • 资源税法律制度PPT免费下载
  • 保安公司怎样上保险
  • 出口不退税怎么做账
  • 增值税专用发票怎么开
  • 税收编码选错了,发票已经开出去几个月了,还有影响吗
  • 腾讯计算机系统扣费15元怎么查
  • 所得税亏损财务处理办法
  • 工程价款是什么意思
  • 12月的发票可以1月付款吗
  • 出口免抵退申报期限最新政策解读
  • 存货成本有哪些问题
  • 做研发费用需要什么条件
  • 桌面图标变成了白色的
  • 私营企业员工享受探亲假吗
  • 质量赔偿金 计入什么科目
  • 收购子公司股权现金流
  • 雨林木风 u盘
  • 预付账款主要是
  • 如何在excel中计算两列数值的差
  • 装win7ahci
  • 微软window
  • 太超过了
  • 电脑右下角的小三角怎么弄出来
  • 年终奖发放问题
  • 如何管理和维护企业微信客户
  • 跨平台桌面程序
  • php多级分类
  • 在计算应纳税所得额时,不允许作为税金项目
  • 外商投资企业需要备案吗
  • redis zset源码
  • 私人帐户可以转账给对公账户吗
  • mongodb win7
  • 学习笔记——Django项目的删除数据、查询数据(filter、get、exclude)
  • 农业用肥尽量不选择
  • 财务预算资产负债表如何编制
  • 购买办公用品没有发票可以入账吗
  • 车船税和保险在一张发票怎么做账
  • php怎么连接sqlserver
  • 纳税人有
  • 对方给我们等额的钱
  • 存货发出的计价方式有哪些
  • 在税收方面属于什么领域
  • 物业管理单位收取的物业费征不征收增值税
  • 一般纳税人销售旧货可以开专票吗
  • 收不回来的应收账款会计分录
  • 预付物业费会计分录
  • 车辆保险费计入现金流量表哪里
  • 小规模什么情况下必须转为一般纳税人
  • 固定资产处置款怎么入账
  • 企业偿债能力的含义
  • 数据库优化的作用是什么?
  • win7系统控制面板在哪里打开
  • win10 预览版变正式版
  • WIN10系统如何彻底永久关闭自动更新?建议收藏!
  • Win10预览版镜像
  • 无需u盘安装系统
  • windows7的word
  • 怎么用windows
  • 如何实现左侧固定,右侧自适应的布局
  • 深入了解是啥意思
  • JavaScript中的方法名不区分大小写
  • js闭包的使用
  • 超链接打开比较合适的方式是什么
  • jquery弹出页面窗口
  • 如何查询车辆购买的保险
  • 如何用微信进行社保认证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设