当前位置:首页 » 编程软件 » shell脚本计算

shell脚本计算

发布时间: 2022-03-31 22:19:26

❶ Linux,编写一个Shell脚本,计算200以内(包含200)所有3的整数倍的数字的和

#!/bin/bash
sum=0;
i=0;
while ((i <= 200));do
((sum = sum + i));
((i = i + 3));
done;
echo $sum;

❷ 设计一个shell脚本:计算并输出S=1!+2!+ ...+10!的结果

#! /bin/bash
#注意,填写你自己机器上的bash路径,可以用type -a bash命令确定bash路径,并确认其是否在下面的PATH中

export PATH=/bin:/usr/bin:
s=0
for (( i=1; i<=10; ++i ))do
s0=1
for (( j=1; j<=$i; ++j ))do
s0=$(($s0*$j))
done
s=$(( $s0+$s ))
done
echo "1!+2!+...+10!=$s"

❸ shell脚本,函数返回值计算

<-/DATA/data01/zz->$echo$(1+2)
-bash:1+2:commandnotfound

<-/DATA/data01/zz->$echo$((1+2))
3
<-/DATA/data01/zz->$

$()表示执行里面的命令,与``一样,$(())是计算,1+2不可执行,返回错误的非0码。

❹ shell脚本求平均值

$vim test.sh
1 #!/bin/bash
2
3 for i in $* ; do
4 let "avg += $i"
5 done
6 let "avg /= $#"
7 echo "Average : $avg"
$chmod +x test.sh
$./test.sh 1 2 3 4 5
Average : 3

希望对您有帮助,~

❺ shell中如何按位运算

语法
$((...))

$ echo $(( 3 * 4 )) 12

在某些场景特别方便,可以免去写程序的烦琐,如验证某些运算。
下面是验证《深入理解计算系统》练习题2.12的场景

表达式 ~0 将生成一个全1的掩码,不管机器的字大小是多少,可移植。

$ printf "%x\n" $(( ~0 ))ffffffffffffffff
$ printf "%#x\n" $(( ~0 ))0xffffffffffffffff

上面的测试显示,shell中,0按位取反后的值是64位的。
shell的printf命令前导字符打印:《shell脚本学习指南》表7-4:printf的标志中描述了格式参数中"#"号的意义,"#"可以用以输出前导"0x"(16进制)、"0"(8进制)

x & 0xFF 生成一个由x的最低有效字节组成的值
$ printf "%#x\n" $(( 0x89ABCDEF & 0xFF ))0xef
$ printf "%#.8x\n" $(( 0x89ABCDEF & 0xFF ))0x000000ef

以下x = 0x87654321
A.x的最低有效字节,其他位均置为0
$ printf "%#.8x\n" $(( 0x87654321 & 0xFF )) 0x00000021
$ printf "%#.8x\n" $(( 0x87654321 & ?0xFF ))-bash: 0x87654321 & ?0xFF : syntax error: operand expected (error token is "?0xFF ")
书中给出的练习题的答案是 “x & ?0xFF”,这里的"?"号经验证,shell无法正确运行。

B.除了x的最低有效字节外,其他的位置都取补,最低有效字节保持不变。
$ printf "%#x" $(( 0x87654321 ^ ~0xff))0xffffffff789abc21

上面因为~0xff会生成64位的掩码,所以结果有些不符合预期,但后32位是符合预期的。
C.x的最低有效字节设置成全1,其他字节都保持不变。
$ printf "%#x" $(( 0x87654321 | 0xff ))0x876543ff

❻ LINUX:编写一个shell脚本,并利用函数实现数列求和运算

#!/bin/bash
sum=0
if[$#-ne2]
then
echo"Pleaseinputtwonumbers!"
elif[$1-gt$2]
then
echo"."
else
foriin$(seq$1$2)
do
sum=`expr$sum+$i`
done
echo""$1~$2"sumis$sum"
fi
#执行结果
#[root@localhostopt]#./b.sh36
#"3~6"sumis18
#[root@localhostopt]#./b.sh3
#Pleaseinputtwonumbers!
#[root@localhostopt]#./b.sh356
#Pleaseinputtwonumbers!
#[root@localhostopt]#./b.sh32
#.
#[root@localhostopt]#./b.sh325
#"3~25"sumis322

热点内容
如何把迷你世界的服务器搞崩 发布:2025-05-14 22:37:15 浏览:94
如何让安卓卡死机 发布:2025-05-14 22:36:27 浏览:633
wemall微商城源码 发布:2025-05-14 22:15:20 浏览:804
隆地优选交易密码是什么 发布:2025-05-14 21:53:23 浏览:96
强酸强碱存储柜 发布:2025-05-14 21:45:16 浏览:565
车辆参数配置包括什么 发布:2025-05-14 21:31:03 浏览:164
怎么引入安卓项目 发布:2025-05-14 21:26:39 浏览:825
游戏辅编程 发布:2025-05-14 21:18:49 浏览:688
三菱plc一段二段密码什么意思 发布:2025-05-14 21:17:16 浏览:529
电脑开机密码忘记了怎么破解 发布:2025-05-14 21:09:40 浏览:57