当前位置: 首页 > news >正文

shell 脚本中 的> /dev/null 2>1

        首先我们需要知道在编写脚本的时候会频繁用到标准输入(stdin)、标准输出(stdout)和标准错误 (stderr)。脚本可以使用大于号将输出重定向到文件中。命令产生的文本可能是正常输出,也

        可能是错误信息。默认情况下,正常输出(stdout )和错误信息( stderr )都会显示在屏幕上。 我们可以分别为其指定特定的文件描述符来区分两者。 文件描述符是与某个打开的文件或数据流相关联的整数。文件描述符0 1 以及 2 是系统预留的。
0 —— stdin (标准输入)。
1 —— stdout (标准输出)。
2 —— stderr (标准错误)。
然后通过下面的命令看一下:
ls + >error.log 2>&1

正常的话会有下面的报错ls: +: No such file or directory

通过上面的命令指的是

> 代表重定向到哪里,例如:echo "123" > /home/123.txt 
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 

2 表示stderr标准错误 
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1 

还有常见的/dev/null相当于黑洞
用处: 
禁止标准输出.    1 cat $filename >/dev/null   # 文件内容丢失,而不会输出到标准输出. 
禁止标准错误.    2>/dev/null 这样错误信息[标准错误]就被丢到太平洋去了. 

最后常见的的使用

cmd > /dev/null 2>&1

1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 "1>/dev/null"。所以命令结果都输出到空设备文件,而& 表示等同于的意思,2>&1,表示2的输出重定向等同于1。所以就是1,2 都都输出到空设备文件中(黑洞)。

相关文章:

  • 角门网站建设/seo到底是做什么的
  • 南阳做网站价格/seo是什么牌子
  • 动态网站开发基础/最新新闻消息
  • 域名怎么做网站内容/百度收录刷排名
  • bae wordpress 2014/百度推广平台
  • 网站导航固定代码/互联网去哪里学
  • python-while循环
  • Dopamine-PEG-N3,多巴胺聚乙二醇叠氮 科研试剂用于点击化学
  • 35岁高龄程序员的 4 条出路,提早布局,避免出局!
  • ROS | Realsense中的IMU解算orientation
  • Mysql入门技能树-数据查询-练习篇
  • 全流量分析为企业提升SAP用户体验
  • 【JavaEE】多线程之线程安全(synchronized篇),死锁问题
  • eggjs框架源码解读
  • 接口参数检验@Valid @Validated
  • 【Linux】基础常见指令
  • react hooks组件间的传值方式(使用ts),子孙传值给祖先组件
  • 【蓝桥杯Java】错误票据(自动拆箱)