shell里面,常出现程序执行结果既要往终端输出,又要往log文件输出的情况,这时候一般都使用tee。
例如:
#!/bin/sh command | tee -a out.txt ST=$?
但是现在变量ST里设置的返回值是tee命令的返回值,而不是command的返回值, 所以出现即使command执行结果出错,可变量ST的值仍是正常0的情况。
解决办法是使用环境变量PIPESTATUS, 这个数组型变量里面存放用"|" 隔开的各个命令的执行结果。
上例是想取缔一个命令的执行结果,所以代码应该如下
#!/bin/sh command | tee -a out.txt ST=${PIPESTATUS[0]}
相关推荐
linux下的正则表达式、命令的执行顺序&& || () {}、shell的输入输出、重定向、cat read tee等
shell 脚本抓取android logcat和kernel log,以及删除旧的log,通过prop控制输出规则
Microsoft.WindowsAPICodePack.Shell.dll
强大的shell日志记录功能,可以自定义格式,自定义级别,简单易用!
cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间...log_error打印shell脚本
shell编码 压缩以.log结尾的文件
shell脚本一个读写sd卡的案例,这个例子可以帮助出学者进步了解shell编程
linux与unix shell编程指南Code 书的代码
Microsoft.WindowsAPICodePack.Shell
BIOS shell 下面刷 log
Visual basic Shell Programming source code vb shell编程的源代码
很好用的一键抓log工具,方便开发过程中调试。只需要添加下adb的环境变量,就可以在终端中直接执行脚本抓取log,该脚本可以选择不带参数,带一个参数,带二个参数。不带参数log保存在脚本指定的执行路径。带一个参数...
Linux Shell Scripting Bootcamp_Code 源码 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
shell排序shell排序shell排序shell排序shell排序shell排序shell排序
code shell c c++
学习shell脚本,了解linux知识。
getshell工具使用教程
在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。 此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本...
shell写的2048小游戏 支持多平台shell写的2048小游戏shell写的2048小游戏
B shell与 C shell的区别 ; B shell的详解和C shell 的详解