日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....

發(fā)布時間:2025/3/21 linux 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1.... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

用shell寫一個簡易計算器,可以實現(xiàn)加、減、乘、除運算,假如腳本名字為1.sh,執(zhí)行示例:./1.sh 1 + 2#!/bin/bash

if?[?$#?-ne?3?]

then

echo?"參數(shù)個數(shù)應該為3,例如:$0?1?+?2"

echo?"當使用乘法時,需要加上脫義符號,例如:$0?1?\*?2"

exit?1;

fi

num1=`echo?$1|sed?'s/[0-9.]//g'`

if?[?-n?"$num1"?]

then

echo?"$1不是數(shù)字"

exit?1

fi

num3=`echo?$3|sed?'s/[0-9.]//g'`

if?[?-n?"$num3"?]

then

echo?"$3不是數(shù)字"

exit?1

fi

case?$2?in

+)

echo?"scale=2;$1+$3"?|?bc

;;

-)

echo?"scale=2;$1-$3"?|?bc

;;

\*)

echo?"scale=2;$1*$3"?|?bc

;;

/)

echo?"scale=2;$1/$3"?|?bc

;;

*)

echo?"$2?不是運算符"

;;

esac

解析:

$# 參數(shù)的數(shù)量

$0 當前執(zhí)行的進程名

num1 -ne? num2 不等于 [ 3 -ne $mynum ]

-n string 如果 string長度非零,則為真 [ -n "$myvar" ]

sed?? '【n1,n2】【[0-9a-zA-Z]】s/源字符串/目標字符串/g' filename

這里n1,n2是指區(qū)間n1到n2行,“s”就是替換的命令,“g”為本行中全局替換,如果不加‘g’,則只替換該行中出現(xiàn)的第一?? 個。除了可以使用“/”作為分隔符外,還可以使用其他特殊字符如“#”或者“@”。

bc命令是一種支持任意精度的交互執(zhí)行的計算器語言。bash內(nèi)置了對整數(shù)四則運算的支持,但是并不支持浮點運算,而bc命令可以很方便的進行浮點運算。參數(shù)scale=2是將bc輸出結(jié)果的小數(shù)位設置為2位

使用case,如果$2為+,輸出echo "scale=2;$1+$3" | bc

依次論推

如果$2不是加減乘除任一情況,則輸出echo "$2 不是運算符"

總結(jié)

以上是生活随笔為你收集整理的linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。