亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Shell實現的一些數學運算自定義函數分享

2020-07-27 19:10:29
字體:
來源:轉載
供稿:網友

最近腳本中總是需要計算,每次都用awk會比較麻煩,就把awk的加減乘除封裝了下,每次調用直接source math.sh就可以了。
有些要點要指出,以免以后修改的時候忘記:   
1、對兩個數字進行判斷是否為數字,使用awk進行匹配
2、對兩個參數進行循環校驗(寫兩次校驗顯得笨拙),需要使用變量的引用${!para}。

復制代碼 代碼如下:

#!/bin/bash
############################
#重寫shell中基本數學運算+ - × /
#時間:2014-01-18
#郵箱:jianye_jia@163.com
#版本: version 1.0
#備注:目前只支持2位整數運算
############################
#####################
#function is_Digit()
#判斷參數是否為數字
#支持浮點數
#只能傳入一個參數
#是,返回1,否則返回0
######################
functionis_Digit()
{
ref=`echo$1 |  awk'{print($0~/^[+-]?[0-9]?*(/.[0-9]*)?$/)?"digit":"string"}'`
if[ "$ref"== "digit"];then
return0;
else
return1;
fi
}
###################
#function multiply()
#判斷參數是否為數字
#并將兩個參數相乘
#函數直接傳入引用
#變量的變量的實現${!para}
#函數的返回值,不能像C一樣return,
#需要打印輸出,echo
###################
functionmul()
{
for(( i=1;i<3;i++ ))
do
pa="$i"
ifis_Digit ${!pa}
then
continue;
else
echo"$pa isn't a number";
return0;
fi
done
ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%d /n",num_a*num_b}'`;
echo$ref;
}
########################
#function div()
#檢查參數,返回兩個數字差
########################
functiondiv()
{
for(( i=1;i<3;i++ ))
do
pa="$i"
ifis_Digit ${!pa}
then
continue;
else
echo"$pa isn't a number";
return0;
fi
done
ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%d /n",num_a/num_b}'`;
echo$ref;
}
########################
#function add()
#檢查參數,返回兩個數字和
########################
functionadd()
{
for(( i=1;i<3;i++ ))
do
pa="$i"
ifis_Digit ${!pa}
then
continue;
else
echo"$pa isn't a number";
return0;
fi
done
ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%d /n",num_a+num_b}'`;
echo$ref;
}
########################
#function sub()
#檢查參數,返回兩個數字差
########################
functionsub()
{
for(( i=1;i<3;i++ ))
do
pa="$i"
ifis_Digit ${!pa}
then
continue;
else
echo"$pa isn't a number";
return0;
fi
done
ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%d /n",num_a-num_b}'`;
echo$ref;
}
###################
#function mul_f()
#判斷參數是否為數字
#并將兩個參數相乘
#函數直接傳入引用
#變量的變量的實現${!para}
#函數的返回值,不能像C一樣return,
#需要打印輸出,echo
###################
functionmul_f()
{
for(( i=1;i<3;i++ ))
do
pa="$i"
ifis_Digit ${!pa}
then
continue;
else
echo"$pa isn't a number";
return0;
fi
done
ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%0.2f /n",num_a*num_b}'`;
echo$ref;
}
########################
#function div_f()
#檢查參數,返回兩個數字差
########################
functiondiv_f()
{
for(( i=1;i<3;i++ ))
do
pa="$i"
ifis_Digit ${!pa}
then
continue;
else
echo"$pa isn't a number";
return0;
fi
done
ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%0.2f /n",num_a/num_b}'`;
echo$ref;
}
########################
#function add_f()
#檢查參數,返回兩個數字和
########################
functionadd_f()
{
for(( i=1;i<3;i++ ))
do
pa="$i"
ifis_Digit ${!pa}
then
continue;
else
echo"$pa isn't a number";
return0;
fi
done
ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%0.2f /n",num_a+num_b}'`;
echo$ref;
}
########################
#function sub_f()
#檢查參數,返回兩個數字差
########################
functionsub_f()
{
for(( i=1;i<3;i++ ))
do
pa="$i"
ifis_Digit ${!pa}
then
continue;
else
echo"$pa isn't a number";
return0;
fi
done
ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%0.2f /n",num_a-num_b}'`;
echo$ref;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美va欧美va香蕉在| 欧美重口另类videos人妖| 91网站在线看| 国产精品h在线观看| 国产91精品久| 中文字幕亚洲欧美日韩在线不卡| 欧美理论片在线观看| 成人做爰www免费看视频网站| 国产拍精品一二三| 欧美大片欧美激情性色a∨久久| 欧美黑人狂野猛交老妇| 国产精品中文字幕久久久| 精品国产一区二区三区四区在线观看| 日韩视频精品在线| 国产亚洲欧美日韩一区二区| www国产精品视频| 欧美日韩一区二区在线播放| 亚洲成人网久久久| 色爱av美腿丝袜综合粉嫩av| 亚洲国产精品久久精品怡红院| 国产手机视频精品| 欧美一区在线直播| 国产精品免费视频xxxx| 久久久久久这里只有精品| 一区二区三区回区在观看免费视频| 精品色蜜蜜精品视频在线观看| 亚洲第一精品夜夜躁人人躁| 精品在线小视频| 亚洲aⅴ男人的天堂在线观看| 欧美高清不卡在线| 精品久久中文字幕| 日韩国产激情在线| 亚洲男人天堂手机在线| 欧美丝袜美女中出在线| 国产精品免费视频久久久| 2020国产精品视频| 久久久久久久一| 久久精品中文字幕电影| 日韩电影中文 亚洲精品乱码| 精品久久久久久久久久国产| 久久久之久亚州精品露出| 日韩最新中文字幕电影免费看| 川上优av一区二区线观看| 91色视频在线观看| www.亚洲一二| 97色在线视频观看| 欧美尺度大的性做爰视频| 中文字幕日韩av| 日韩欧美亚洲一二三区| 伊人久久久久久久久久久久久| 欧美成年人在线观看| 日韩动漫免费观看电视剧高清| 91亚洲va在线va天堂va国| 97碰在线观看| 成人在线观看视频网站| 精品视频在线播放色网色视频| 日韩一级黄色av| 欧美日韩精品在线观看| 国产精品稀缺呦系列在线| 亚洲成年人影院在线| 日本91av在线播放| 欧美一二三视频| 欧美黄网免费在线观看| 一本大道久久加勒比香蕉| 亚洲日本中文字幕免费在线不卡| 中文字幕日韩在线播放| 久久影视电视剧凤归四时歌| 亚洲r级在线观看| 亚洲国产91色在线| 欧美日本高清视频| 久久久av亚洲男天堂| 欧美成人一区在线| 欧美在线视频一区二区| 亚洲视频国产视频| 国产欧美日韩91| 亚洲电影中文字幕| 国产不卡在线观看| 97在线视频观看| 国产v综合ⅴ日韩v欧美大片| 精品福利在线看| 九九九久久国产免费| 美女精品视频一区| 精品久久久久久国产91| 88国产精品欧美一区二区三区| 日韩中文在线观看| 亚洲另类图片色| 亚洲欧洲国产伦综合| 欧美性资源免费| 欧美日韩裸体免费视频| 亚洲色图欧美制服丝袜另类第一页| 精品色蜜蜜精品视频在线观看| 日韩欧美国产免费播放| 亚洲天堂av高清| 国产精品99蜜臀久久不卡二区| 国内伊人久久久久久网站视频| 日韩美女视频在线观看| 亚洲在线免费看| 亚洲视频在线看| 欧美激情精品久久久久久久变态| 日韩在线资源网| 欧美激情视频一区二区| 中文字幕av一区| 日韩av成人在线| 亚洲欧美综合精品久久成人| 日韩av电影在线网| 在线观看精品自拍私拍| 亚洲第一页自拍| 91欧美视频网站| 一区二区欧美日韩视频| 日本精品免费观看| 国产成人精品a视频一区www| 夜夜嗨av一区二区三区免费区| 91免费精品国偷自产在线| 国产日韩av在线| 奇米成人av国产一区二区三区| 久久这里只有精品99| 国产亚洲欧洲在线| 久久久久久12| 国产精品69av| 亚洲国产三级网| 欧美老肥婆性猛交视频| 欧美成人高清视频| 欧美日韩国产中字| 久久精品免费电影| 国产手机视频精品| 久久精品亚洲精品| 亚洲va久久久噜噜噜久久天堂| 日本精品性网站在线观看| 国产美女久久精品| 亚洲视频专区在线| 在线性视频日韩欧美| 中文字幕在线日韩| 国产成人aa精品一区在线播放| 国产成+人+综合+亚洲欧洲| 欧美xxxx14xxxxx性爽| 久久久久国色av免费观看性色| 在线精品国产成人综合| 国产欧美最新羞羞视频在线观看| 成人中文字幕在线观看| 日韩最新免费不卡| 亚洲黄色av网站| 国产精品福利片| 日产日韩在线亚洲欧美| 日韩欧美在线字幕| 欧美老少做受xxxx高潮| 欧美在线观看一区二区三区| 亚洲成人在线视频播放| 亚洲一区二区三区四区在线播放| 久久不射热爱视频精品| 欧美激情国产高清| 福利一区福利二区微拍刺激| 欧美精品久久久久久久免费观看| 久久手机免费视频| 亚洲日本中文字幕| 91在线观看免费网站| 日韩精品在线免费播放| 欧美激情精品久久久久久大尺度| 青青精品视频播放| 精品一区精品二区| 欧美激情视频给我| 性色av一区二区三区| 亚洲国内精品在线| 国产欧美精品一区二区| 性欧美亚洲xxxx乳在线观看|