溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在shell腳本中使用字符串和數(shù)組

發(fā)布時間:2021-03-24 17:08:10 來源:億速云 閱讀:262 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)怎么在shell腳本中使用字符串和數(shù)組,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

字符串

可以使用單引號和雙引號定義字符串變量但是單引號中不支持變量解析

#! /bin/bash
username="mayuan"
str_1="hello ${username}" 
str_2='hello ${username}'
echo $str_1 # hello mayuan
echo $str_2 # hello ${username}

獲取字符串的長度

#! /bin/bash
username="mayuan"
echo ${#username} # 6

截取字符串

#! /bin/bash
username="mayuan"
echo ${username:1:3} # 從第二個字符開始截取3個字符輸出"ayu"

查找指定字符

#! /bin/bash
username="mayuan"
echo $(expr index "${username}" y) #查找y在指定字符的位置

  數(shù)組

#! /bin/bash
arr=(1 2 3 4 5)
echo ${arr[0]} #輸出1
echo ${arr[1]} #輸出2

獲取數(shù)組長度

#! /bin/bash
arr=(1 2 3 4 5)
echo ${#arr[@]} #輸出5
echo ${#arr[*]}

PS:下面給大家介紹shell將字符串分隔成數(shù)組

#!/bin/bash
a="hello,world,nice,to,meet,you"
#要將$a分割開,先存儲舊的分隔符
OLD_IFS="$IFS"
#設(shè)置分隔符
IFS="," 
#如下會自動分隔
arr=($a)
#恢復(fù)原來的分隔符
IFS="$OLD_IFS"
#遍歷數(shù)組
for s in ${arr[@]}
do
echo "$s"
done

變量$IFS存儲著分隔符,這里我們將其設(shè)為逗號 "," OLD_IFS用于備份默認(rèn)的分隔符,使用完后將之恢復(fù)默認(rèn)。

arr=($a)用于將字符串$a按IFS分隔符分割到數(shù)組$arr

${arr[0]} ${arr[1]} ... 分別存儲分割后的數(shù)組第1 2 ... 項

${arr[@]}存儲整個數(shù)組。

${!arr[@]}存儲整個索引值:1 2 3 4 ...

${#arr[@]} 獲取數(shù)組的長度。

關(guān)于怎么在shell腳本中使用字符串和數(shù)組就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI