① 如何获取shell命令输出的错误信息
不太明白你表达的意思,是无法看到错误信息还是想保存错误信息?
1、一般来讲,shell命令都是有错误输出的,它会打印在屏幕上,但实际上是标准错误输出文件,如果我不想输出到屏幕,而是写到文件里,我们可以用管道符'>'重定向标准错误输出,比如:
我cat一个不存在的文件,会有错误输出,我可以把错误重定向到文件里
#cat/tmp/aa
cat:/tmp/aa:Nosuchfileordirectory
#cat/tmp/aa2>err.log
#caterr.log
cat:/tmp/aa:Nosuchfileordirectory
2表示标准错误输出。
另外,我甚至可以把错误输出放到shell变量里:
#aa=$(cat/tmp/aa2>&1)
#echo$aa
cat:/tmp/aa:Nosuchfileordirectory
2>&1表示,我把错误输出重定向到标准屏幕输出1上,在赋值给变量aa
2、关于如何调试shell脚本
很简单
#sh-vxxxxx.sh
上述命令会打印shell脚本的执行过程和结果,有助于排错。当然,某些情况下,可能不会有输出(如shell中有函数,可能就不会输出函数里的过程)。
② shell中怎样读取命令执行的结果
将命令放在$()中执行,然后赋值给变量
result=$( ls -l )
echo $result
③ linux Shell 怎样获得命令的执行结果
可以用
$?
获取上一条shell命令的返回结果。
一般的约定是:
0
表示成功,非0表示失败。
例如:你可以试验一下
执行正确的shell
命令:
执行
ls,然后紧接着
echo
$?
执行错误的shell
命令:
执行
ls
/abcdefg,然后紧接着
echo
$?
④ shell监控命令结果多次筛选的问题
iostat是分段打印,执行一个筛选是正常的,但是筛选过后再筛选,只能等第一次筛选结束后,才能进行第二次筛选。也就是说,从管道的角度看,第一次的筛选数据来源于iostat,第二次的筛选数据就是来自于awk了。结果会显示,只是说非实时,有点慢,没有显示就说明没有匹配的项或者写的命令有问题
⑤ 怎么echo shell命令输出的结果
echo命令改变样式,以输出不同颜色的文本命令输出的结果必须有 -e 选项(开启echo中的转义)。
文本终端的显示颜色可以使用“ANSI非常规字符序列”来生成。
⑥ 如何获取shell函数的返回值及shell命令的返回值
函数 返回值 。使用return 返回出来,调用函数就获取到
shell命令返回值。使用 $?获取
⑦ 如何将一shell脚本中的每一步命令执行结果输出到指定日志文件中
命令的结果输出到指定文件可以使用>>,如:
ls >> log.txt
这样就可以了。
⑧ linux程序里面怎么获取shell命令结果
用
$?
获取上一条shell命令的返回结果。0
表示成功,非0表示失败。
执行一条shell命令,然后紧接着
echo
$?
看看
⑨ 如何把shell中一个命令的结果输出到一个文件中
用文件重定向就行,>会先清空原文件【没有时先新建】,>>是追加方式
echo “字符串” >文件名
或
脚本 >文件名
⑩ 调用shell命令,如何得到输出结果
看你调什么命令 如果能直接输出的会直接输出到屏幕上,比如date 、ls 之类的
如果需要参数的 如果不带参数会提示用法比如 sed 、awk之类的
如果自己在脚本里设置变量,则需要用echo 或者printf输出,比如 aaa="123" 就需要用echo "$123" 来输出