shell脚本的加减
1. 编写一个SHELL脚本程序计算1到100的和
#!/银销bin/锋迟游旦春bash
j=0
for ((i=1;i<=100;i++));do
j=$(($i+$j))
done
echo $j
2. 编写shell脚本,输入n,求1-n的累加和
#!/bin/bash
read-p"Inputvalueofn:"n
sum=0
i=1
while(($i<=$n))
do
sum=$(($sum+$i))
i=$(($i+1))
done
echo"SUMis$sum."
3. shell 脚本里的变量怎么加1
shell 脚本里变量加一方式如下六种:
1、第一种整型变量自增方式
a=$(($a+1))
echo$a
2、第二种整型变量自增方式a=$[$a+1]
echo$a
a=`expr$a+1`
echo$a
leta++
echo$a
5、第五种整型变量自增方式leta+=1
echo$a
6、第六种整型变量自增方式((a++))
echo$a
(3)shell脚本的加减扩展阅读:
基本上shell分两大类:
1、图形界面shell(Graphical User Interface shell 即 GUI shell)
应用最为广泛的 Windows Explorer (微软的windows系列操作系统),还有也包括广为人知的 linux shell,其中linux shell 包括 X window manager (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE。
2、命令行式shell(Command Line Interface shell ,即CLI shell)
bash / sh / ksh / csh / zsh(Unix/linux 系统),cmd.exe/ 命令提示字符(Windows NT 系统),Windows PowerShell(支持 .NET Framework 技术的 Windows NT 系统),传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
4. shell脚本中使用for.do循环语句列出从1到100的数字中能够被3整除的数求出他们的和并输出文件命名为sum.sh
#!/bin/bash
sum=0
for i in {1..100}
do
if [ $(( $i % 3 )) -eq 0 ]
then
echo $i
sum=$(( $sum + $i ))
fi
done
echo "sum is: $sum"
保存为sum.sh
5. shell 脚本里面从一个文本里面读出一个数字,如何转换成整数我需要用这个数字进行加减乘除
可以参考下面几种方法:
法一:
echo ${var%.*} #这个是直接去除小数点及后面所有内容,只用于bash
法二:
echo $var | awk -F. '{print $1}' #以小数点为分隔符取第一个字段
法三:
echo $var | awk '{print int($0)}' #awk中可直接使用C函数取整
(5)shell脚本的加减扩展阅读:
shell脚本
shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。
更明白地来说,shell script就像早期dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令。
6. shell 脚本里 expr $num "+" 10 &> /dev/null 是什么意思
这应该是判断变量num是否为整数的一种方法
利用expr做计算时变量或字符串必须是整数的规则,把一个变量或者字符串和一个已知的整数(非0)相加,看命令结果是否为0
&>/dev/null表示不保留任何输出
如果num为整数的话,echo $?的结果是0;否则echo $?的结果是2
等同于expr $num + 1 &>/dev/null
不对的地方欢迎指正
7. 刚学shell脚本写了个小 计算器,加减除都可以,乘法不行,哪儿错了
你的问题在:elif [ $fangfa = " \* " ]; 这句并不能判断到“*“乘号;
正确的结果如下:
#!/bin/bash
echo "first number"
read a
echo "fangfa"
read fangfa
echo "second number"
read b
if [ "$fangfa" = "+" ];then
echo $(($a+$b))
elif [ "$fangfa" = "-" ];then
echo $(($a-$b))
elif [ "$fangfa" = "*" ];then
echo $(($a*$b))
elif [ "$fangfa" = "/" ];then
echo $(($a/$b))
fi
===============================================
脚本优化版本:
#!/bin/bash
read -p "input first number: " num1
read -p "input operator: " operator
read -p "input second number: " num2
if [ "$operator" == "+" ];then
echo " num1 + num2 = $(($num1+$num2))"
elif [ "$operator" == "-" ];then
echo "num1 - num2 = $(($num1-$num2))"
elif [ "$operator" == "*" ];then
echo "num1 * num2 = $(($num1*$num2))"
elif [ "$operator" == "/" ];then
echo "num1 / num2 = $(($num1/$num2))"
fi