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也不需要什麼工具,只用乙個記事本就可以寫,寫好後就可執行。因為它是解釋型的,直譯器會邊解釋邊執行。...