shell脚本实现算术运算且输入的不能为非数字的数

#!/bin/bash
echo "请输入第一个数"
read a
echo "请输入第二个输"
read b

if [[ ${b} != *[!0]* ]] && [[ ${a} != *[!0123456789]* ]];

then
echo "除数为0!!!!!!!!!!!!!!!!!"
echo "和为"`echo $(( ${a} + ${b} ))`
echo "差为"`echo $(( ${a} - ${b} ))`
echo "积为"`echo $(( ${a} * ${b}))`

elif [[ ${a} != *[!0123456789]* ]] && [[ ${b} != *[!0123456789]* ]];

then
echo "和为"`echo $(( ${a} + ${b} ))`
echo "差为"`echo $(( ${a} - ${b} ))`
echo "商为"`echo $(( ${a} / ${b} ))`
echo "积为"`echo $(( ${a} * ${b}))`
echo "余数为"`echo  $(( ${a} % ${b}))`

else

echo "输入错误"

fi
时间: 2024-11-05 23:35:25

shell脚本实现算术运算且输入的不能为非数字的数的相关文章

shell脚本编程设计——根据输入的数输出菱形、三角形或者数字金字塔(带闪烁颜色)

shell脚本编程设计--根据输入的数输出菱形.三角形或者数字金字塔(带闪烁颜色) shell脚本程序和解释如下 #!/bin/bash #创建死循环,当输入出错或者输入"quit"字符串退出脚本程序 while true do #等待用户输入 read -p "请输入一个不大于20的正整数(输入"quit"则退出):" n #先判断字符串是否是quit if [ "$n" == "quit" ] then

shell脚本,提示用户输入一个用户名,如果存在;显示用户UID和SHELL信息;否则,则显示无此用户;显示完成之后,提示用户再次输入;如果是quit则退出;

[[email protected] wyb]# cat tishiuser.sh #!/bin/bash #提示用户输入一个用户名,如果存在:显示用户UID和SHELL信息:否则, #则显示无此用户:显示完成之后,提示用户再次输入:如果是quit则退出; echo 'Input `quit` to quit' while : do read -p "Please Input a user:" choice [ -z $choice ] &&continue [[ &q

Shell脚本编程算术运算和条件测试

算术运算 1.bash中的算术运算:help let +, -, *, /, %取模(取余), **(乘方) 实现算术运算: (1) let var=算术表达式 (2) var=$[算术表达式] (3) var=$((算术表达式)) (4) var=$(expr arg1 arg2 arg3 ...) (5) declare –ivar= 数值 (6) echo '算术表达式' | bc 2.乘法符号有些场景中需要转义,如* 3.bash有内建的随机数生成器: $RANDOM(0-32767)

shell脚本,awk利用NF来计算文本显示的行数。

解释: 1.awk 'NF{a++;print a,$0;next}1' file4 首先判断NF是否存在值,第一行第二行第三行第四行都存在,进行执行后面的输出,输出后碰到next后,就结束了后面的操作,NF不存在的行不进行执行{}里面的操作,然后就进行默认1输出. 2.awk 'NF{a++;$0=a" "$0}1' file4 NF存在,执行{}里面的操作,操作就是将原来$0=a的值替换成$0=1 a,次数替换之后没有进行打印,然后继续向后执行操作,碰到1默认输出$0,故输出的值就

input框只能输入整数和浮点数非数字就不输入

<input type="text" onInput="clearNoNum(this)" > //需引入jquery <script> function clearNoNum(obj){ //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/[^\d.]/g,""); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/^\./g

Shell脚本-l良好的习惯

原文: http://www.javacodegeeks.com/2013/10/shell-scripting-best-practices.html#BP11 翻译: aven 大多数编程语言都有一系列使用该语言编码需要遵循良好的编程习惯.然而,对于shell脚本我没有找到一个比较全面的,所以我决定编写一个我自己的基于我多年编写shell经验的编程习惯. 移植性的注意:自从主要编写shell脚本在安装了Bash 4.2的系统上运行,我从来不担心可移植性,你也不需要担心!下面的列表都是使用Ba

linux下shell脚本编程1

1. shell脚本是什么 它是一种脚本语言,并非编程语言. 可以使用一些逻辑判断.循环等语法. 可以自定义子函数,是系统命令的集合. shell脚本可以实现自动化运维,大大增加我们的工作效率. 2.shell脚本结构以及执行方法 开头行指定bash路径: #! /bin/bash 以#开头的行作为解释说明 #注释自己的脚本内容,方便自己查阅:utf8字符集,支持中文: 脚本的名字以.sh结尾,用于区分这是一个shell脚本 执行脚本方式有两种: chmod a+x 1.sh    添加x执行权

shell脚本基础知识

一.什么是shell 简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了.打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些.回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. 试验环境为linux发布版本(Redhat/CentOS)

Shell脚本之:for

与其他编程语言类似,Shell支持for循环. for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字.字符串等)组成的序列,每个值通过空格分隔.每循环一次,就将列表中的下一个值赋给变量.in 列表是可选的,如果不用它,for 循环使用命令行的位置参数. 下面演示几个使用for的shell脚本例子 1.顺序输出当前列表中的数字: #!/bin/bashfor loop in 1 2 3 4 5 do ec