linux shell捕获异常,shell脚本中如何获取错误输出
shell上手中,shell命令执行,正常输出可以获得,但对于出错信息,如何获取没能解决。今天查了一天资料,算是找着了一个切换输出的办法。就是exec函数。
man exec可以看到其有一些参数可以用:
< fileName
打开以fileName命名的文件作为标准输入为第一个命令。
<< value
以Value作为第一个命令的标准输入。
> fileName
最后一个标准结果输出覆盖输出到fileName文件
2> fileName
所有命令的错误输出覆盖输出到fileName文件
>& fileName最后一个标准结果输出和所有命令的错误输出覆盖输出到fileName文件
>> fileName最后一个标准结果输出追加输出到fileName文件
2>> fileName所有命令的错误输出追加输出到fileName文件
>>& fileName
最后一个标准结果输出和所有命令的错误输出追加输出到fileName文件
eg:
hadoop fs -ls XXX
如果执行该命令,假定XXX是不存在的,那么结果为:
1、16/05/28 19:41:45 INFO hdfs.PeerCache: SocketCache
disabled.
2、ls: `aaa': No such file or directory
1、不是结果,是提示,2是错误信息。如果正常情况下获取输出,1是获取不到的,2是出错信息也获取不到。
但如果XXX存在,那么2就是文件的大小信息等,作为结果是可以获取到的。
设置exec 2>>
file1,那么在出错情况下,上述1、2都会追加到file1的末尾,如果执行成功,1追加到file1末尾,正确的2作为结果可以被获取到。
linux shell捕获异常,shell脚本中如何获取错误输出相关推荐
- 在Shell或Bat脚本中激活conda环境
转自:https://heary.cn/posts/%E5%9C%A8Shell%E6%88%96Bat%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%BF%80%E6%B4%BBcon ...
- shell脚本中如何获取命令的参数(2) ----处理命令参数
1 找出选项 1.1 处理简单选项 主要可以通过shfit工具对获取的到$1变量对比程序允许的变量值判断: 1.2 从参数中分离选项 一般参数可能在后面跟上适当的参数值,例如 sed -f ...
- python logger设置信息取得_shell 脚本中如何获取 python logging 打印的信息?
在 shell 脚本中调用 python 的接口,但是 python API 是通过 python 的 logging 把相关信息打印到屏幕上的,不知道这种情况在 shell 中怎么获取这些 logg ...
- Linux批量替换sh脚本中\r 符号
一.脚本中出现\r的原因 该脚本在window上编辑过,widnow 上文件换行是 \r\n 而 linux上是 \n. 在Windows下换行的"\r"到了Linux环境 ...
- 编译 puppy linux,Puppy Linux import gtk在Python中抛出错误
我使用的是Linux版本2.6.24.16.我相信它使用的是Puppy linux4.2.我实际上在使用小狗游乐场,这是一个专门的分支.然而,他们的帮助文件暗示它是4.2.在 这个包声称有pygtk, ...
- Linux和Windows命令行中使用命令的输出(删除几天前的日志)
如果我们需要在命令行中使用命令的结果,需要怎么做? 很常见的一种情况是我们需要当前工作目录的路径.在Linux下,可用这样: $ echo `pwd` $ ./mdu `pwd` 在Windows下面 ...
- linux AS 5 DNS 配置中的小错误
今天用linux AS 5 配置dns的时候.基础本地东西都配完了.可是就是解析不了.郁 闷了许久.我擦,竟然是在添加地址的时候出错了: 正确的地址: 错误的地址: 转载于:https://blog. ...
- shell 脚本中获取执行系统命令的输出结果
这个主要介绍的方法是获取命令的输出内容,而不是命令执行成功与否的返回值. 通常情况下,在shell脚本中需要获取命令的输出内容,然后根据输出内容判断下一步的执行操作. 比较常用的一种方式就是, 匹配命 ...
- linux shell脚本中调用另一个shell脚本
先来说一下主要以下有几种方式: 1.fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. 2.exec: exec path/to/foo. ...
- linux fork脚本,在Shell脚本中调用另一个脚本的三种方式讲解
先来说一下主要以下有几种方式: fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. exec: exec path/to/foo.sh s ...
最新文章
- AOP和IOC的作用
- 探索频道和谷歌联合制作七大洲人文VR视频,11月3日可收看
- 北京高性能计算机应用中心,中国气象局高性能计算机系统资源使用报告-北京高性能计算机应用中心.PDF...
- seo需要处理页面html,为什么单页面的seo不友好?如何解决这一问题?
- 2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - F. 牌型种数
- 360公司2019秋季校园招聘内部推荐启动啦!!!
- #python练习实例0:制作1-100随机抽取3个数字排队列
- Spring-beans-ListableBeanFactory/AutowireCapableBeanFactory/HierarchicalBeanFactory
- ABP官方文档翻译 3.7 领域事件(事件总线)
- python模拟栈的操作实现非递归方式的快速排序算法
- 【笔记总结】C陷阱与缺陷
- iOS 音频本地和在线播放器
- 一次苦中作乐的追码过程(上)
- 无限地球危机的观看顺序
- 网络编程-procmon
- 微信小程序实现图片预览的功能
- 融云发送图片消息_融云开发者文档
- BookKeeper AutoRecovery
- 什么是Hadoop - HDFS - MapReduce - YARN - HA
- Springboot疫苗接种管理系统-JAVA.JSP【计算机毕业设计、源码、开题报告】
热门文章
- springmvc ajax返回数据中文乱码
- teamcity mysql 配置_TeamCity
- 关系代数运算集(数据库)
- psm倾向得分匹配法举例_倾向得分匹配法的详细解读
- Take it easy
- 可变换大小的星星c语言源程序,五邑大学试卷_C语言程序设计_信息学院各专业_B卷1教学内容.doc...
- 福师计算机在线作业在每个w,16春季福师《计算机应用基础》在线作业二
- java 向文件写数据_java向文件写数据的3种方式
- mysql backup user_mysql备份常见命令
- GBDT, Gradient Boost Decision Tree,梯度提升决策树