Shell腳本中判斷變量為數(shù)字的3種方法
方法1:通過(guò)expr 計(jì)算變量與一個(gè)整數(shù)值相加,如果能正常執(zhí)行則為整數(shù),否則執(zhí)行出錯(cuò),$?將是非0的值
expr $args + 0 &>/dev/null
方法2:打印變量通過(guò)sed替換的方式,將變量中的數(shù)字替換為空,如果執(zhí)行替換后變量為空,則為整數(shù)
echo $args | sed 's/[0-9]//g'
如果判斷負(fù)數(shù)則再用sed過(guò)濾負(fù)號(hào)
echo $args | sed 's/[0-9]//g' | sed 's/-//g'
下面的腳本通過(guò)兩個(gè)函數(shù)來(lái)實(shí)現(xiàn)數(shù)值判斷。代碼很簡(jiǎn)單,就不加注釋了。
#!/bin/bash
usage(){
cat <<EOF
USEAGE:sh $0args1 args2
exit 1
EOF
}
checkInt(){
expr $1+ 0&>/dev/null
[ $? -ne 0] && { echo "Args must be integer!";exit 1; }
}
checkInt1(){
tmp=`echo $1|sed 's/[0-9]//g'`
[ -n "${tmp}"]&& { echo "Args must be integer!";exit 1; }
}
[ $# -ne 2]&&usage
args1=$1
args2=$2
checkInt $args1
checkInt1 $args2
if[ $args1 -gt $args2 ];then
echo "yes,$args1 greate than $args2"
else
echo "no,$args1 less than $args2"
fi
相關(guān)文章
linux shell命令行選項(xiàng)與參數(shù)用法詳解
本文介紹了linux shell中使用命令行選項(xiàng)與命令行參數(shù)的方法,在bash中,可以用以下三種方式來(lái)處理命令行參數(shù),每種方式都有自己的應(yīng)用場(chǎng)景2014-04-04Linux下的自動(dòng)化構(gòu)建工具之make/makefile的用法詳解
這篇文章主要為大家詳細(xì)介紹了Linux下的自動(dòng)化構(gòu)建工具之make/makefile的區(qū)別與使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-10-10awk統(tǒng)計(jì)文件中某關(guān)鍵詞出現(xiàn)次數(shù)的命令
awk統(tǒng)計(jì)文件中某關(guān)鍵詞出現(xiàn)的次數(shù),供朋友們學(xué)習(xí)參考2013-02-02常用的34個(gè)Linux?Shell腳本(小結(jié))
本文主要介紹了常用的35個(gè)Linux?Shell腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Shell腳本讀取標(biāo)準(zhǔn)ini配置文件Demo
這篇文章主要介紹了Shell腳本讀取標(biāo)準(zhǔn)ini配置文件Demo,本文直接給出代碼實(shí)例,需要的朋友可以參考下2015-05-05Linux shell實(shí)現(xiàn)壓縮多個(gè)文件代碼實(shí)例
這篇文章主要介紹了Linux shell實(shí)現(xiàn)壓縮多個(gè)文件代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08shell腳本讀取命令行參數(shù)的實(shí)現(xiàn)
本文主要介紹了shell腳本讀取命令行參數(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07