Ⅰ 各位大哥大姐,问你们一个linux题,用shell程序设计一计算器,能够实现基本算数运算
linux下有个bc计算器,直接调用bc命令,将所有的操作转到bc操作就可以了。
Ⅱ 在linux编写shell脚本运行时输入a bc
一般以
#!/bin/sh
开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了。Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序。
以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。
当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用
sh ./file.sh
方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他)。
Ⅲ 如何在shell中对浮点数进行计算
在shell中具有最基本的数学计算能力,如可以使用expr 、let 。但这些都只能处理整形数据。为了要计算小数,就需要通过bc命令扩展。下面演示了一个例子,判断输出的参数类型,然后计算出它的平方.
#!/bin/sh
#filename: testbc
var=$1
dd=$(echo $var|bc 2>/dev/null )
if [ "$var" != "$dd" ] || [ "$var" == "" ]; then
echo "$var isn't number!"
elif echo $var | grep "/." > /dev/null 2>
then
#square=$(echo " $var * $var "|bc)
square=$(echo " $var * $var "|bc -l)
echo "$var is a float number,square is:$square"
else
square=$(echo "$var * $var" | bc)
echo "$var is a int number,square is:$square"
fi
执行脚本的结果如下:
$ testbc aaa
aaa isn't number!
$testbc 2
2 is a int number,square is:4
$testbc 1.5
1.5 is a float number,square is:2.25
如果要处理计算结果的精度,可以使用scale定义精度。可以这样处理:
$ echo "scale=3; 1.55 * 1.55 " | bc -l
2.402
如果不定义精度,那么1.55*1.55的值为:2.4025,因为我们定义了精度为3,所以就显示了小数点后3位.
$ echo "1.55 * 1.55" | bc -l
2.4025
Ⅳ bc命令为什么不能取小数点后的最后两位shell。scale=2;2/11*100结果是18.00
你可以通过 printf 进行格式化输出 或者 直接用别的方法把后两位切掉
Ⅳ 如何退出bc,执行后续的shell语句
输入 quit即可退出。
脚本中一般可以这样:
变量名=`echo "sqrt(36)*3" |bc`
得到数值计算结果
Ⅵ shell 脚本如何提取整数部分
[root@localhost zhaoru]# bash shell.sh
1331.2
[root@localhost zhaoru]# cat shell.sh
#!/bin/bash
a=1.3
speed=`echo ${a}*1024 | bc`
echo $speed
Ⅶ shell 字符串为1+1,如何运行得到结果为2
可以用bc命令:
$echo"1+1"|bc
Ⅷ linux下如何在shell中执行小数的运算
bash不支持小数的运算。。你可以换python,perl,ruby试试。
Ⅸ linnux中的bash代表什么意思就像bc代表计算器!
Bash=Bourne Again SHell。
shell就是linux的命令行终端,具体有各种不同的shell版本。
原来GNU有一个shell项目叫Bourn shell,后来他们搞了一个能够兼容Bourn shell并且更强大的shell,就叫Bourne-Again SHell(二代Bourn shell)。也是英语的一个双关语——Bourne again / born again(重生)