字串初值的處理

2021-10-01 20:43:03 字數 1475 閱讀 4494

通過$判斷變數是否存在,決定變數的初始值。

實現此案例需要按照如下步驟進行。

1)只取值,$

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

變數值已存在的情況:

[root@svr5 ~]# xx=11

[root@svr5 ~]# echo $xx //檢視原變數值

11[root@svr5 ~]# echo $ //因xx已存在,輸出變數xx的值

11

變數不存在的情況:

[root@svr5 ~]# echo $      //因yy不存在,輸出「123」

123

[root@svr5 ~]# cat /root/test.sh

#!/bin/bash

read -p "請輸入使用者名稱:" user

[ -z $user ] && exit //如果無使用者名稱,則指令碼退出

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

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

useradd $user

echo "$pass" | passwd --stdin $user

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

1)指令碼編寫參考如下

[root@svr5 ~]# vim sumx.sh

#!/bin/bash

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

x=$i=1; sum=0

while [ $i -le $x ]

do let sum+=i

let i++

done

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

[root@svr5 ~]# chmod +x sumx.sh

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

[root@svr5 ~]# ./sumx.sh

請輸入乙個正整數:25 //輸入25,正常讀入並計算、輸出結果

從1到25的總和是:325

[root@svr5 ~]# ./sumx.sh

請輸入乙個正整數:70 //輸入70,正常讀入並計算、輸出結果

從1到70的總和是:2485

[root@svr5 ~]# ./sumx.sh

請輸入乙個正整數: //直接回車,設x=1後計算、輸出結果

從1到1的總和是:1

字串初值的處理

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

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

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

shell指令碼程式設計 字串擷取 字串初值設定

shell指令碼程式設計 字串擷取 字串初值設定 1.只替換第乙個匹配結果 將第乙個8替換為xx 2.替換全部匹配結果 將phone變數中所有8替換為xx echo 字串掐頭去尾 a head 1 etc passwd echo a root x 0 0 root root bin bash 匹配所...