溫馨提示×

溫馨提示×

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

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

shell字符串截取時出現(xiàn)報錯Bad substitution的解決方法

發(fā)布時間:2020-10-27 16:23:05 來源:億速云 閱讀:1108 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章運(yùn)用簡單易懂的例子給大家介紹shell字符串截取時出現(xiàn)報錯Bad substitution的解決方法,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

問題重現(xiàn):

當(dāng)前系統(tǒng)Ubuntu16

shell進(jìn)行字符串截取

運(yùn)行 ${GIT_COMMIT:0:6}報錯:

/tmp/jenkins7505855461406722507.sh: 4: /tmp/jenkins7505855461406722507.sh: Bad substitution

原因:兩種shell語言解釋器 bash和dash

查看當(dāng)前/bin/sh 指向哪種解釋器:

ls /bin/sh -al

lrwxrwxrwx 1 root root 4 Mar 26 2018 /bin/sh -> dash

修改bin/sh指向為bash:

sudo ln -fs /bin/bash /bin/sh

或者運(yùn)行 sudo dpkg-reconfigure dash 后選擇NO

或者修改表達(dá)式 ${GIT_COMMIT:0:6}為:

$(echo $GIT_COMMIT | awk '{ string=substr($0,0,6); print string; }')

關(guān)于shell字符串截取時出現(xiàn)報錯Bad substitution的解決方法就分享到這里了,希望以上內(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