shell下擷取字串的功能非常少,不過有時在判斷字串字首或是字尾時卻非常重要。
這裡說的shell不包含bash和csh,主要是給freebsd下sh指令碼使用的。
例如下面的乙個列子:
prg_info_name
="make"
mke_info_act
="/bin/make"
foo ()
foo "
prg_info_name"
foo "
mke_info_act"
為了實現上面的功能,我們需要字串擷取來判斷字串是包含的"name"還是"act"來實現我們需要的功能。在shell中包含了對變數的操作:
$ 從左往右擷取最後一次匹配上string右邊的字串
$ 從左往右擷取第一次匹配上string右邊的字串
$ 從右往左擷取最後一次匹配上string左邊的字串
$ 從右往左擷取第一次匹配上string左邊的字串
我們現在來實現上面的**:
prg_info_name="make"
mke_info_act
="/bin/make"
foo ()
" = "name" ]; then
eval echo $"$var"
elif [ "$var##*_}" = "act" ]; then
eval exec $"$var" fi
}也可以判斷字首
prg_info_name="make"
mke_info_act="/bin/make"
echo # 返回: prg
echo # 返回: mke_info
簡單的組合也可以實現複雜的功能。
Shell 字串擷取方法
linux 的字串擷取很有用。有八種方法。假設有變數 var 1.號擷取,刪除左邊字元,保留右邊字元。複製 如下 echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 即刪除 http 結果是 www.aaa.com 123.htm 2.號擷取,刪除左邊字元,保...
shell字串擷取方法
shell中擷取字串的方法有很多中,一共有9種使用方法。上面4種可以用來進行預設值的替換。上面這種可以獲得字串的長度 最小限度從後面擷取word 最大限度從後面擷取word 最小限度從前面擷取word 最大限度從前面擷取word 上面4個就是用來擷取字串的方法了。有了著四種用法就不必使用cut命令來...
shell擷取字串方法
shell中擷取字串的方法有很多中,一共有9種使用方法。上面4種可以用來進行預設值的替換。上面這種可以獲得字串的長度。最小限度從後面擷取word 最大限度從後面擷取word 最小限度從前面擷取word 最大限度從前面擷取word 上面4個就是用來擷取字串的方法了。有了著四種用法就不必使用cut命令來...