當前位置:首頁 » 編程軟體 » 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-01-24 09:15:20 瀏覽:591
認票的演算法 發布:2025-01-24 09:00:45 瀏覽:927
android調用列印機 發布:2025-01-24 09:00:32 瀏覽:808
網易版我的世界伺服器如何 發布:2025-01-24 08:55:47 瀏覽:968
編譯器鼻祖 發布:2025-01-24 08:54:11 瀏覽:844
如何用安卓編譯項目 發布:2025-01-24 08:30:46 瀏覽:863
計算機同時輸出和存儲設備的區別 發布:2025-01-24 08:29:21 瀏覽:581
食物語上傳 發布:2025-01-24 07:58:44 瀏覽:754
編程相關書籍 發布:2025-01-24 07:55:45 瀏覽:430
英雄聯盟手游需要哪些配置 發布:2025-01-24 07:42:03 瀏覽:985