問題
本案例要求編寫乙個指令碼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 匹配所...