linu中shell程式設計輸出任何數的和

2021-08-10 23:08:14 字數 1720 閱讀 5843

1樓:匿名使用者

下面有輸出測試的奇數,不要輸出可以刪除掉就行了:

#!/bin/bash

sum=0

n=$1

for ((i = 0; i < n; ++i))do# 測試輸出這幾個奇數

echo $((2 * i + 1))

((sum += 2 * i + 1))

done

echo "sun: $sum"

儲存成 sum.sh

呼叫的時候用引數傳入 n,比如 bash sum.sh 4 就可以算前四的數,簡單起見沒有對引數做有效性的判斷。

2樓:一把三尺劍

我是這麼理解樓上提問題的意思:求前n個奇數之和,數字n可變。比如n=5,則5前面的奇數為1和3並求和為4。

如果n=9,則9前面的奇數為1,3,5,7並求和為16。不知道我理解的對不?如果是這樣的,那麼如下所示:

**:#!/bin/bash

sum=0

k=0while [ $((2*$k+1)) -lt $1 ]doecho $((2*$k+1))

sum=$((2*$k+1+$sum))

k=$(($k+1))

done

echo "sum: $sum"

linux命令 shell程式設計:從鍵盤輸入乙個數,若大於0,則輸出該數;若小於或等於0,則輸出0值。程式怎麼寫

3樓:文化廚子

1、在shell程式設計中,輸入乙個數可以通過read命令來完成。

2、大於0輸出該數,小於或等於0,輸出0值,可以借助於if結構來判斷。

3、示例如下

//read從鍵盤讀取乙個數儲存到變數i中//並同時輸出:「輸入乙個數」的字元提示

read -p "輸入乙個數:" i;

//如果使用者輸入的數i大於0就輸出i的值

if ((i > 0));then

echo $i;

//否則就直接用echo命令輸出0

else

echo 0;

fi //這裡if語句結束

4、執行效果如下:

4樓:匿名使用者

#!/bin/bash

echo "please input a number:"

#鍵盤讀取賦值給變數num

read num

#判斷num的值是否為數字,條件否則直接退出expr $num + 0 1>/dev/null 2>&1if [ $? -ne 0 ]

then

echo "$ is not a number!"

exit 0

fi#判斷變數num的值是否大於0

if [ "$num" -gt 0 ]

then

echo $num

else

echo 0fi

5樓:匿名使用者

#! /bin/bash

read num

#判斷是否是數字

if [ `echo $num | grep - p '^-?\d+'$ |wc - l ` == 1 ] ; then

#判斷是否大於0

if [ $num >0 ] ; thenecho $num

else

echo 0

fielse

echo "不是數字"fi

linu在shell下如何將字串寫入檔案

可以使用 baiecho命令將文字流導向標準輸出 du,然後再zhi使用 符號重新定向dao標準輸出到檔案。用法版示例 將字串權 hello world 寫入檔案file.txt中 echo hello world file.txt然後再嘗試用cat命令從讀取檔案並寫入到標準輸出,可以看到字串已經成...

shell變數中包含變數的問題,shell 變數名中包含變數怎麼弄

說實話你這個寫法好詭異。不過用eval應該可以解決 eval echo ymd i 你試試 set i 1 while i 3 echo ymd i 這裡的語句改如何寫?i i 1 end把你那行改成這個看看可行了 兄弟,我很榮幸的為你解決,下面是答案,你去試試 while i le 3 doech...

請問Shell指令碼程式設計是通過什麼軟體編寫的嗎??

用任何文字處理工具都可以,記事本之類的都行。指令碼的意思,就是它本身是文字,然後通過虛擬機器執行。c語言不需要visual c 寫,只要乙個記事本就可以了,寫好後編譯為二進位制檔案,就可執行。shell也不需要什麼工具,只用乙個記事本就可以寫,寫好後就可執行。因為它是解釋型的,直譯器會邊解釋邊執行。...