如何shell脚本中,执行一个其他程序的命令,然后保存这个执行这个命令的结果和过程?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何shell脚本中,执行一个其他程序的命令,然后保存这个执行这个命令的结果和过程?相关的知识,希望对你有一定的参考价值。
是这样的,我在写一个shell的脚本。在这个脚本里,我需要不断的去开启或关闭一个程序。我在脚本里使用了,例如:abc_stop这样的命令去执行,我想能不能保存这个命令执行的过程和执行的结果?
请大家帮帮忙,谢谢了!O(∩_∩)O
sh -x 调试脚本执行过程
tee abc.log 读取标准输入的数据,并将其内容输出成abc.log文件追问
不行,我是这样写的
#!/bin/bash
#v1.0
PATH=环境变量
export PATH
cd /home/abc
. ./abc.sh/*设置abc这个软件的工作环境*/
sh -x abc_stop | tee abc.log
结果是能够执行abc_stop,这条命令的执行过程也显示出来了,但是没有保存abc.log
那就这样。以下两句功能一样。把标准输出和错误输出到abc.log
sh -x abc_stop >abc.log 2>&1 #这种写法适用于任何bash shellsh -x abc_stop &>abc.log #一般旧的bash shell不能这么写。你自己测吧追问
还是不行,谢谢了。
如何在shell脚本中,判断一个基本命令执行是不是成功
每一条基本命令执行后都有一个返回码,该返回码是用$?表示,执行成功的返回码是0,例如:if [ $? -ne 0 ];then
上一命令执行失败时的操作
else
上一命令执行成功时的操作
fi 参考技术A echo $? # 0:正确执行;非0表示其它错误 参考技术B 看看你的用户的默认shell是什么
就是/etc/password的最后一列
root:x:0:0:root:/root:/bin/bash
然后在shell脚本第一行就写上什么shell
#!/bin/bash 参考技术C 输入 mkdir /home/testuser 通过返回结果,我可以看到执行是否成功
但是如果这个mkdir在脚本中,我如何知道 mkdir 是否执行成功?
因为我这里需要有个判断,如果成功了,我就做A事;如果没有成功,我就做B事
以上是关于如何shell脚本中,执行一个其他程序的命令,然后保存这个执行这个命令的结果和过程?的主要内容,如果未能解决你的问题,请参考以下文章