shell脚本exit1
⑴ SHELL中的exit 0 和 exit 1有什么区别
1、如果a.sh只是结束程序,没什么区别
2、如果b.sh调用a.sh脚本,b.sh要根据a.sh执行结果继续任务
exit 0表示成功了
exit 1表示有错误
⑵ shell脚本怎么用getopts获取一个参数
while getopts "r:p:h" para; do
case $para in
r) param_r=$OPTARG;;
p) param_p=$OPTARG;;
h) help ; exit 0;;
*) help ; exit 1;;
esac
done
⑶ shell脚本的一个返回值问题。
首先,要理解 (( )) 这个符号用作数学运算或整数的逻辑比较,一个例子:
[ “$a” -lt 16 ] 等同于 (( a < 16 ))
$?则是返回上一个命令的执行结果,成功(逻辑真)返回0,失败(逻辑假)返回1。
本题中,
(( 0 )) 返回逻辑假(false),所以$?返回1;
(( 1 )) 返回逻辑真(true),所以$?返回0。
⑷ shell脚本编辑文件
很简单,一句sed命令就搞定。
liu@NP6012:~$catfile.sh
fastboot$*getvarsoc-id2>&1|grep"^soc-id:*$"
if[$?-ne0];thenecho"Missmatchingimageanddevice";exit1;fi
fastboot$*flashtz"`dirname$0`/images/tz.mbn"
liu@NP6012:~$catfile2.sh
#!/bin/sh
sed-i"1s/$*/-s$!$*/g"file.sh
liu@NP6012:~$./file2.sh
liu@NP6012:~$catfile.sh
fastboot-s$!$*getvarsoc-id2>&1|grep"^soc-id:*$"
if[$?-ne0];thenecho"Missmatchingimageanddevice";exit1;fi
fastboot$*flashtz"`dirname$0`/images/tz.mbn"
liu@NP6012:~$
如果不要空格,把sed替换里面的空格去掉就可以了
⑸ shell脚本,1 || exit 1这句怎么执行啊
这个||叫逻辑或运算符 执行的时候先执行语句1,如果语句1执行成功(退出状态为0)就跳过后面的语句。比如你这个例子里的语句1成功就不会执行exit 1,语句1不成功就会执行exit 1。Shell会尽量保证操作符前后的语句有一个执行成功。
与这个类似的还有&&,逻辑与运行算,他会尽量保证操作符前后两个语句都执行成功。
⑹ linux shell脚本:while循环中调用另一个脚本遇到exit为什么会跳出循环,且继续执行循环后的程序
exit是在被调用的脚本里面,肯定会退出被调用的脚本了。如果不想继续执行while循环后面的程序可以在do后面的条件上加上break
⑺ shell中的$与exit 0和1代表什么意思起什么作用
$0, $1这些是命令行参数。
比如说脚本名字是run.sh,运行时的命令行是 ./run.sh arg1 arg2
这时$0就是脚本本身,也就是./run.sh,$1就是arg1,$2就是arg2...
至于exit 0首先是退出脚本,其次是指定脚本退出时的返回值,退出后,可以用$?得到这个值。
比如,脚本里退出时是执行的exit 1,这次脚本停止执行并退出,退出后,在shell里echo $?,会得到1这个值。一般来说,0代表成功,其它值代表失败,具体什么值代表什么错误就看写脚本时的约定了。
注意一点,$?一定是最近一次命令的结果,如果你执行脚本时exit 1,但是脚本退出后先执行了一个ls命令,这时ls命令的执行是成功的,那这时再echo $?,得到的就是ls的返回值 0,而不是脚本的exit 1了。
总结一下:$n是用来得到命令行参数,exit n是用来结束脚本并将执行结果返回给调用方,一般就是shell或另外的脚本,而$?是用来得到最近一次命令的返回值。
⑻ aix下如何用shell脚本根据进程的CPU占用率定时杀死进程
if test $# -gt 0 #0.0.5
then
for pname in $* #0.0.5
do
pid=`ps -e | grep $pname |sed -e '/grep/D' -e 's/^ *//' -e 's/ .*//'`
echo now killing pocess $pname pid is $pid kill -15 $pid
done
exit 0
else
echo 'usage: kpn <process_name_you_want_to_kill>'
exit 1
fi
⑼ shell脚本中如何设置exit值
在子脚本中可以通过如下形式返回成功0或错误码(1~255):
exit [返回值]
其中,返回值的取值范围为0~255,因为UNIX/POSIX中是用一个无符号8比特数值来表示exit返回码的。你若写exit -1,它会给你转为255。
⑽ 编写shell脚本,输入n,求1-n的累加和
#!/bin/bash
read-p"Inputvalueofn:"n
sum=0
i=1
while(($i<=$n))
do
sum=$(($sum+$i))
i=$(($i+1))
done
echo"SUMis$sum."