如何获取shell命令输出的错误信息
3个回答
展开全部
不太明白你表达的意思,是无法看到错误信息还是想保存错误信息?
1、一般来讲,shell命令都是有错误输出的,它会打印在屏幕上,但实际上是标准错误输出文件,如果我不想输出到屏幕,而是写到文件里,我们可以用管道符'>'重定向标准错误输出,比如:
我cat一个不存在的文件,会有错误输出,我可以把错误重定向到文件里
#cat /tmp/aacat: /tmp/aa: No such file or directory#cat /tmp/aa 2>err.log#cat err.logcat: /tmp/aa: No such file or directory2表示标准错误输出。
另外,我甚至可以把错误输出放到shell变量里:
#aa=$(cat /tmp/aa 2>&1)#echo $aacat: /tmp/aa: No such file or directory2>&1表示,我把错误输出重定向到标准屏幕输出1上,在赋值给变量aa
2、关于如何调试shell脚本
很简单
#sh -vx xxxx.sh上述命令会打印shell脚本的执行过程和结果,有助于排错。当然,某些情况下,可能不会有输出(如shell中有函数,可能就不会输出函数里的过程)。
1、一般来讲,shell命令都是有错误输出的,它会打印在屏幕上,但实际上是标准错误输出文件,如果我不想输出到屏幕,而是写到文件里,我们可以用管道符'>'重定向标准错误输出,比如:
我cat一个不存在的文件,会有错误输出,我可以把错误重定向到文件里
#cat /tmp/aacat: /tmp/aa: No such file or directory#cat /tmp/aa 2>err.log#cat err.logcat: /tmp/aa: No such file or directory2表示标准错误输出。
另外,我甚至可以把错误输出放到shell变量里:
#aa=$(cat /tmp/aa 2>&1)#echo $aacat: /tmp/aa: No such file or directory2>&1表示,我把错误输出重定向到标准屏幕输出1上,在赋值给变量aa
2、关于如何调试shell脚本
很简单
#sh -vx xxxx.sh上述命令会打印shell脚本的执行过程和结果,有助于排错。当然,某些情况下,可能不会有输出(如shell中有函数,可能就不会输出函数里的过程)。
展开全部
echo "errormsg" > &2; 标准错误
echo "infomsg" > &1; 标准输出
echo "infomsg" > &1; 标准输出
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var=`ps -ef | grep oracle` 或者 var=$(ps -ef | grep oracle) 获取系统中关于Oracle的进程的信息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询