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."