位置: 编程技术 - 正文

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)

  • 税务申报指的是什么
  • 差额税征收标准
  • 无形资产减值准备可以转回吗
  • 红字发票可以只开金额没有数量吗
  • 企业所得税季报时间
  • 事业单位结转资金和结余资金区别
  • 1 3%增值税发票样本
  • 免税企业收到增值税专用发票咋办
  • 租车补贴记入工资的会计处理怎么做?
  • 发票对方认证不了怎么回事
  • 租赁房产税如何征收的2019
  • 税收分类编码选错了有事吗
  • 酒店的床和沙发哪个好
  • 非全日制员工个税扣除标准
  • 筹备期间的开办企业是指
  • 公积金贷款利息现在是多少
  • 小规模纳税人可以退税吗?
  • 发票冲红后是否可以重开
  • 怎么保存win10锁屏界面
  • 收到的增值税专用发票如何认证
  • 贷款逾期了利息和罚息可以不还吗
  • 事业单位基建账并入大账规定
  • macbookpro桌面整理
  • macOS Big Sur 11.3新功能 为M1 Mac带来了iOS应用的手柄模拟功能
  • Linux系统中怎么开机自动运行拍摄文件
  • 出口货物退税率为0,是否出口免税
  • 个体公司转账给私人
  • php怎么爬数据
  • 出差预借差旅费属于什么科目
  • php实现用户登录
  • visual studio code 调试php方法(图文详解)
  • 融资性售后回租承租方为什么不交税
  • 没有资质证书的公司可靠吗?
  • ensp综合实验配置
  • php常用命令
  • 企业取得交易性金融资产时
  • sql语句的基本用法
  • 波士顿房价数据集可视化
  • 购买房屋用于出租属于投资行为吗
  • 固定资产多少可以上市
  • 子公司认定消费税需要披露信息
  • 开基本户一定要法人身份证吗
  • 织梦如何使用
  • 不征税收入和免税收入有哪些项目
  • 季度所得税申报错误,一定要更改吗
  • 房产税的定义是什么
  • 金税盘税务申报流程
  • mysql数据损坏修复方法
  • MySQL错误什么意思
  • 公司购买食品怎么入账
  • 营业利润是负数什么原因
  • 未分配利润可以弥补亏损吗
  • 税前减免
  • 未使用的机器设备有没有实体性贬值
  • 收到法人的借款怎样写摘要
  • 个体工商户缴纳社保属于职工社保吗
  • 外出经营活动需要预缴税款吗2020年
  • 企业收到退回的银行汇票多余款项时,应作的会计处理有
  • 什么是盈余公积和资本公积
  • 税票是什么意思
  • 非金融企业之间借款账务处理
  • 公允价值举例说明
  • 残保金怎么办理
  • centos bz
  • win8系统怎么重置
  • 多台电脑ip地址设置
  • centos7如何添加光盘
  • windows右键不能用了
  • edit apps
  • JavaScript中的变量名不区分大小写
  • cmd命令可以干嘛
  • python入门后学什么
  • jquery mobile实例
  • 如何使用form表单
  • 3d游戏引擎诞生
  • js 不用var
  • android反编译apk
  • js初级教程
  • Android ViewPager+Fragment滑动选项卡,tab点击选项卡
  • 北京ca证书下载安装流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设