您好,登錄后才能下訂單哦!
這篇文章運(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é)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(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)容。