字串初值的處理

2021-09-24 11:02:50 字數 1298 閱讀 8811

問題

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

從鍵盤讀入x值

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

方案步驟

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

1)只取值,$

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

變數值已存在的情況:

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

tarena it group.

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

tarena it group.

[root@svr5 ~]# echo $school //原變數的值並不改變

tarena it group.

變數值不存在的情況:

[root@svr5 ~]# unset school  			//清除school變數

[root@svr5 ~]# echo $ //因school已不存在,輸出「tarena」

tarena

[root@svr5 ~]# echo $school //變數school仍然不存在

[root@svr5 ~]#

2)取值+賦值,$

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

變數值不存在的情況:

[root@svr5 ~]# echo $school  			//前面已將此變數清除

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

tarena

[root@svr5 ~]# echo $school //且將「tarena」賦值給變數school

tarena

變數值已存在的情況:

[root@svr5 ~]# echo $school  			//確認當前的變數值

tarena

[root@svr5 ~]# echo $ //變數已存在,輸出其值

tarena

[root@svr5 ~]# echo $school //原變數的值也不受影響

tarena

字串初值的處理

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

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 匹配所...