位置: 编程技术 - 正文

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)

  • 奖金算不算工资薪金所得
  • 家具厂投入多少钱
  • 生产车间维修费是制造费用还是管理费用
  • 小规模没有税控怎么办
  • 去年的成本如何调整汇算清缴额
  • 抵扣认证的发票开红字有影响吗
  • 广告发布费属于什么征税项目
  • 其他应收款有哪些情况
  • 费用化的研发支出
  • 没开发票的收入可以不入账吗
  • 微商怎么收税
  • 处置车辆收入缴税规定
  • 上年的应收帐款在本年度如何录入?
  • 产品质量问题怎么处罚
  • 资产负债表金额越来越大代表什么
  • 滴滴顺风车发票图片大全
  • 营改增后税金由哪几项费用组成
  • 西部大开发政策2020到期
  • 研发支出与开发成本的区别
  • 增值税发票系统金税盘发票怎么抵扣
  • 生产成本和主营业务成本哪个大
  • 商贸企业仓储服务有哪些
  • 母公司并购子公司需要股东会决议吗
  • 销售退回发票怎么处理
  • 公司账上没钱股东又不出资发工资怎么办
  • 其他收益是一级科目还是二级科目
  • 费用转入本年利润
  • 购买员工宿舍床上用品怎么入账
  • vue城市列表插件
  • eml文件怎么打开方式
  • 更改win10通知
  • 承租集体土地如何确权
  • 进程mmc.exe
  • win11好用吗知乎
  • laravel insert ignore
  • phpwhile循环多维数组
  • 记账凭证和收付账簿区别
  • 小微企业所得税税收优惠政策2023年
  • 珀斯临近什么洋
  • react_router
  • 如何判断公众号是否可靠
  • 查补收入是否享受免税政策
  • 商品出入库台账
  • python 读取图片
  • 实收资本印花税税率
  • PostgreSQL教程(十三):数据库管理详解
  • 税控系统的维护包括哪些内容
  • 装修专票是几个点
  • 增值税报表申报流程
  • 实收资本没有实缴,财务报表里面怎么写
  • 事业单位长期股权投资成本法和权益法
  • 建安工程预缴税额怎么算
  • 坏账准备贷方余额期末如何处理
  • 滞纳金比例多少
  • 股东投入的资金在现金流量表中如何提现
  • 生产企业原材料占产成品的比例
  • 建筑企业结转收入成本
  • sql数据库分布式部署
  • 控制面板中的添加和删除在哪里
  • linux基本使用
  • linux安装flash插件
  • 安装 centos
  • win10大更新2020
  • 正版win10怎么用
  • linux系统怎么关闭137端口
  • win7如何取消开机启动
  • perl 匹配不区分大小写
  • unity单选
  • css如何把图片重叠在一起
  • python难度
  • unity获取物体的位置
  • js生成二维数组
  • js性能优化方法
  • 四川国税网上申报
  • 土地增值税申报流程图
  • 单位购买房产作废怎么办
  • 2016年小微企业所得税优惠政策文号
  • 国税总局编制这次怎么调整
  • 欠账6万怎么还
  • 增值税普通发票可以抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设