本篇內容介紹了“Shell字符串相關操作方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創(chuàng)新互聯建站憑借在網站建設、網站推廣領域領先的技術能力和多年的行業(yè)經驗,為客戶提供超值的營銷型網站建設服務,我們始終認為:好的營銷型網站就是好的業(yè)務員。我們已成功為企業(yè)單位、個人等客戶提供了做網站、成都網站建設服務,以良好的商業(yè)信譽,完善的服務及深厚的技術力量處于同行領先地位。
Shell中針對字符串的操作有很多。結合代碼示例會比較容易理解
通過單引號拼接字符串
################### 使用單引號拼接字符串 ###################
name1='white'
str1='hello, '${name1}''
str2='hello, ${name1}'
echo ${str1}_${str2}
# Output:
# hello, white_hello, ${name1}
name3='green'
str5='hello,'${name3}''
str6='hello, ${name3}'
echo ${str5}_${str6}運行結果如下:
hello, white_hello, ${name1}
hello,green_hello, ${name3}通過雙引號拼接字符串
################### 使用雙引號拼接字符串 ###################
name2="black"
str3="hello, "${name2}""
str4="hello, ${name2}"
echo ${str3}_${str4}
# Output:
# hello, black_hello, black
name4='pink'
str7="hello, "${name4}""
str8="hello, ${name4}"
echo ${str7}_${str8}運行結果如下:
hello, black_hello, black hello, pink_hello, pink
獲取字符串長度信息
################### 獲取字符串長度 ###################
text="12345"
echo "${text} length is: ${#text}"
# Output:
# 12345 length is: 5
text1="qwert"
echo "${text1} length is: ${#text1}"
# 獲取子字符串
text="12345"
echo ${text:2:2}
# Output:
# 34
text="asdfghjkl"
echo ${text:3:4}
#fghj運行結果如下:
12345 length is: 5 qwert length is: 5 34 fghj
查找字符串中對應的子串的索引,索引值從1開始計數。
################### 查找子字符串對應的索引 ###################
text="hello"
echo `expr index "${text}" ll`
# Output:
# 3
# 索引從 1 開始記錄
string_test="linux world"
echo `expr index "${string_test}" w`
# 7運行結果如下:
3 7
邏輯判斷字符串中是否包含子字符串
################### 判斷字符串中是否包含子字符串 ###################
str="new_feature/"
result=$(echo "${str}" | grep "feature/")
if [[ "$result" != "" ]]; then
echo "feature/ 是 ${str} 的子字符串"
else
echo "feature/ 不是 ${str} 的子字符串"
fi運行結果如下:
feature/ 是 new_feature/ 的子字符串
shell獲取字符串特定模式匹配右邊的內容
################### 截取關鍵字右邊內容 ###################
full_branch="feature/1.0.0"
branch=`echo ${full_branch#feature/}`
echo "branch is ${branch}"
full_name="aaa_bbb"
right_half=`echo ${full_name#aaa_}`
echo "right half of ${full_name} is ${right_half}"運行結果如下:
branch is 1.0.0 right half of aaa_bbb is bbb
shell獲取字符串特定模式匹配左邊的內容
################### 截取關鍵字左邊內容 ###################
full_version="0.0.1-SNAPSHOT"
version=`echo ${full_version%-SNAPSHOT}`
echo "version is ${version}"
full_address="california-kk"
left_address=`echo ${full_address%-kk}`
echo "left_address is ${left_address}"運行結果如下:
version is 0.0.1 left_address is california
將字符串分割成數組
################### 字符串分割成數組 ###################
str="0.0.0.1"
OLD_IFS="$IFS"
IFS="."
array=( ${str} )
IFS="$OLD_IFS"
size=${#array[*]}
lastIndex=`expr ${size} - 1`
echo "數組長度:${size}"
echo "最后一個數組元素:${array[${lastIndex}]}"
for item in ${array[@]}
do
echo "$item"
done
ip_address="192.168.1.1"
OLD_IFS="$IFS"
IFS="."
array=( ${ip_address} )
IFS="$OLD_IFS"
ip_size=${#array[*]}
lastIndex=`expr ${ip_size} - 1`
firstIndex=`expr ${ip_size} - 4`
echo "IP地址對應的數組長度:${ip_size}"
echo "IP地址的第一段對應是:${array[${firstIndex}]}"
for element in ${array[@]}
do
echo ${element}
done運行結果如下:
數組長度:4 最后一個數組元素:1 0 0 0 1 IP地址對應的數組長度:4 IP地址的第一段對應是:192 192 168 1 1
邏輯判斷字符串是否為空
################### 判斷字符串是否為空 ################### #-n 判斷長度是否非零 #-z 判斷長度是否為零 str=testing str2='' if [[ -n "$str" ]] then echo "The string $str is not empty" else echo "The string $str is empty" fi if [[ -n "$str2" ]] then echo "The string $str2 is not empty" else echo "The string $str2 is empty" fi if [[ -z $str2 ]] then echo "==The string $str2 is empty==" else echo "The string $str2 is not empty" fi # Output: # The string testing is not empty # The string is empty
運行結果如下:
The string testing is not empty The string is empty ==The string is empty==
字符串比較邏輯
################### 字符串比較 ################### str=hello str2=world if [[ $str = "hello" ]]; then echo "str equals hello" else echo "str not equals hello" fi if [[ $str2 = "hello" ]]; then echo "str2 equals hello" else echo "str2 not equals hello" fi str3=linux if [[ $str3 = "linux" ]];then echo "str3 equals linux" else echo "str3 not equal linux" fi
運行結果如下:
str equals hello str2 not equals hello str3 equals linux
“Shell字符串相關操作方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯網站,小編將為大家輸出更多高質量的實用文章!
名稱欄目:Shell字符串相關操作方法是什么
URL地址:http://www.chinadenli.net/article14/gpcsge.html
成都網站建設公司_創(chuàng)新互聯,為您提供定制網站、外貿網站建設、用戶體驗、微信小程序、品牌網站建設、App開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯