国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

詳解Shell編程之變量數值計算(二)

2019-10-26 18:56:40
字體:
來源:轉載
供稿:網友

OK,數值運算(上)是我看完的一小部分,大概的結束腳本如下:(回顧~~)

#!/bin/bash a=$1 b=$2 expr $1 + 1 &>/dev/null if [ "$?" -ne "0" ]  then   echo "請輸入數字"   exit 1 fi  if [ "$#" -ne "2" ]  then   echo "請輸入兩個數字"     exit 1 fi  echo "a+b=$((a+b))" echo "a-b=$((a-b))" echo "a*b=$((a*b))" echo "a/b=$((a/b))" echo "a%b=$((a%b))" 

這個腳本中包含了,特殊變量,數值運算命令expr判斷語法。一些簡單的if語句,特殊變量$#的用法。最后實現了運算~ 大家可以參考我的這篇文章://www.jb51.net/article/134292.htm

1、BC命令的用法

bc是UNIX&Linux下的計算器,因此輸了可以做計算器使用,還可以作為命令行計算工具使用

在我們前面說的數值運算,我們都是以整數的形式來的,但是bc這個就不一樣了 它可以處理小數~~~如下:


是不是感覺很方便的樣子,接下來將BC用在命令行下面,實現運算

[root@shell-yankerp ~]# echo 1+2 | bc 3 [root@shell-yankerp ~]# echo 1.5+1.5 | bc 3.0 [root@shell-yankerp ~]# echo 2*2 | bc 4 [root@shell-yankerp ~]# echo 8.5-8.5 | bc 0 [root@shell-yankerp ~]#  

利用BC配置變量運算

[root@shell-yankerp ~]# i=5  #設置變量 i=5 [root@shell-yankerp ~]# i=`echo $i+5 | bc` [root@shell-yankerp ~]# echo $i  10 [root@shell-yankerp ~]#  

根據bc具有的特殊性質來來看,如果是小數,那么它處理是沒有問題,如果是整數的話,那么就使用(()) let expr就好了。

2、使用awk實現計算

利用awk進行計算的效果很好,尤其是處理小數,很精確如下:


剖析:第一行 echo 7.1 3.23 | 讓awk處理 '{print 打印 $1 為7.1 - $2為3.23}'得出3.87

第二行:echo 4 5 | 讓awk進行處理 '{print  ($1為4那么在加4等于8)最后*$2 也就是乘5} ' 得出40

$[]運算

[root@shell-yankerp ~]# a=5 [root@shell-yankerp ~]# a=$[a+10] [root@shell-yankerp ~]# echo $a 15 [root@shell-yankerp ~]# echo $[2*3] 6 [root@shell-yankerp ~]# echo $[2/3] 0 [root@shell-yankerp ~]#  

3、基于Shell變量輸入read命令的運算

read命令

Shell變量除了可以直接賦值或者腳本傳參外,還可以使用read命令從標準輸入中獲取,read命令為bash內置的,命令。

用法如下:

-p 設置提示信息

-t 設置輸入的等待時間 如下:


剖析:上圖使用了read命令 -t是輸入等到時間為10秒,那么-p就是提示的信息,在后面我們加了 o p 也就是說,當用戶輸入內容時 他會把內容賦值給變量 o p;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定结县| 建平县| 调兵山市| 梁山县| 钦州市| 五莲县| 忻城县| 台中市| 政和县| 阳东县| 彭阳县| 化隆| 土默特右旗| 青州市| 丰台区| 奇台县| 宽甸| 都匀市| 新丰县| 闸北区| 牟定县| 清丰县| 靖州| 肃宁县| 广昌县| 乐业县| 保山市| 鄂伦春自治旗| 抚远县| 合山市| 扎兰屯市| 乾安县| 濮阳县| 丽水市| 灵璧县| 西和县| 湘潭县| 大港区| 崇义县| 长寿区| 莆田市|