Shell字串初值的處理 求從1 x的和

2021-10-08 13:08:38 字數 2162 閱讀 8785

本案例要求編寫乙個指令碼sumx.sh,求從1-x的和,相關要求如下:

• 從鍵盤讀入x值

• 當使用者未輸入任何值時,預設按1計算

通過v ar

:−wo

rd判斷

變數是否

存在,決

定變數的

初始值。

步驟一:

認識字元

串初值的

最常見處

理方法1

)只取值

,判斷變數是否存在,決定變數的初始值。 步驟一:認識字串初值的最常見處理方法 1)只取值,

var:−w

ord判

斷變數是

否存在,

決定變數

的初始值

。步驟一

:認識字

符串初值

的最常見

處理方法

1)只取

值,若變數var已存在且非null,則返回 $var 的值;否則返回字串「word」,原變數var的值不受影響。

變數值已存在的情況:

1.

[root@dyy ~]

# xx=11

2.[root@dyy ~]

# echo $xx //檢視原變數值

3. 11

4.[root@dyy ~]

# echo $ //因xx已存在,輸出變數xx的值

5. 11

變數值不存在的情況:

1.

[root@dyy ~]

# echo $ //因yy不存在,輸出「123」

2. 123

1.

[root@dyy ~]

# cat /root/test.sh

2.#!/bin/bash

3. read -p "請輸入使用者名稱:" user4.[

-z $user

] && exit

//如果無使用者名稱,則指令碼退出

5. read -p "請輸入密碼:" pass

6. pass=$

//如果使用者沒有輸入密碼,則預設密碼為123456

7. useradd $user

8.echo

"$pass"

| passwd --stdin $user

步驟二:編寫sumx.sh指令碼,處理read輸入的初值

用來從鍵盤讀入乙個正整數x,求從1到x的和;當使用者未輸入值(直接回車)時,為了避免執行出錯,應為x賦初值1 。

1)指令碼編寫參考如下

1.

[root@dyy ~]

# vim sumx.sh

2.#!/bin/bash

3. read -p "請輸入乙個正整數:" x

4. x=$

5. i=1; sum=0

6.while[$i

-le$x]7.

do8. let sum+=i

9. let i++

10. done

11.echo

"從1到$x的總和是:$sum"

12.

13.[root@dyy ~]

# chmod +x sumx.sh

2)驗證、測試指令碼執行效果:

1.

[root@dyy ~]

# ./sumx.sh

2. 請輸入乙個正整數:25 /

/輸入25,正常讀入並計算、輸出結果

3. 從1到25的總和是:325

4.[root@dyy ~]

# ./sumx.sh

5. 請輸入乙個正整數:70 /

/輸入70,正常讀入並計算、輸出結果

6. 從1到70的總和是:2485

7.[root@dyy ~]

# ./sumx.sh

8. 請輸入乙個正整數: /

/直接回車,設x=1後計算、輸出結果

9. 從1到1的總和是:1

字串初值的處理

問題 本案例要求編寫乙個指令碼sumx.sh,求從1 x的和,相關要求如下 從鍵盤讀入x值 當使用者未輸入任何值時,預設按1計算 方案步驟 實現此案例需要按照如下步驟進行。1 只取值,若變數var已存在且非null,則返回 var 的值 否則返回字串 word 原變數var的值不受影響。變數值已存在...

字串初值的處理

通過 判斷變數是否存在,決定變數的初始值。實現此案例需要按照如下步驟進行。1 只取值,若變數var已存在並且非null,則返回 var的值 否則返回字串 word 原變數var的值不受影響。變數值已存在的情況 root svr5 xx 11 root svr5 echo xx 檢視原變數值 11 r...

shell字串初值的處理(變數的初始值賦值)

很多時候在我們寫shell指令碼的過程中,變數值為空的時指令碼會報錯,如果通過判斷去排除變數的值為空會相對麻煩,所以我們通常會為變數設定乙個預設值,避免在指令碼執行的過程中報錯,這就是變數的初始值賦值。經常使用的初始值賦值的方法有以下兩種,都能對乙個變數賦予乙個初始值,但是它們也有區別 1.這種方法...