当前位置:首页 » 编程软件 » shell脚本的加减

shell脚本的加减

发布时间: 2024-10-09 21:23:23

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

3、第三种整型变量自增方式

a=`expr$a+1`

echo$a

4、第四种整型变量自增方式

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

热点内容
sqlserver2012导出数据 发布:2024-11-24 06:09:18 浏览:633
什么意思安卓手机 发布:2024-11-24 05:39:54 浏览:975
linux怎么连接数据库 发布:2024-11-24 05:39:14 浏览:547
高频电子零件分析仪配置的校正模块有哪些 发布:2024-11-24 05:39:10 浏览:987
云裳羽没有其他服务器吗 发布:2024-11-24 05:34:16 浏览:220
编程发烧友 发布:2024-11-24 05:34:16 浏览:727
android获取应用大小 发布:2024-11-24 05:33:34 浏览:28
小米登陆密码忘了怎么办 发布:2024-11-24 05:32:11 浏览:16
手机路由器密码怎么看 发布:2024-11-24 05:32:07 浏览:117
汽车显示器六位密码是多少 发布:2024-11-24 05:26:20 浏览:389