shell字符串截取報錯:Bad substitution的解決
問題重現(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字符串截取報錯:Bad substitution的解決的文章就介紹到這了,更多相關(guān)shell字符串截取報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Linux shell腳本實現(xiàn)FTP定時執(zhí)行批量下載指定文件
使用FTP定時批量下載指定文件的shell腳本,具體實例介紹如下所示,需要的朋友參考下吧2017-04-04對Linux下shell編程之for循環(huán)的實例講解
今天小編就為大家分享一篇對Linux下shell編程之for循環(huán)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06win10下如何運(yùn)行.sh文件的實現(xiàn)步驟
這篇文章主要介紹了win10下如何運(yùn)行.sh文件的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09一個用了統(tǒng)計CPU 內(nèi)存 硬盤 使用率的shell腳本
一個統(tǒng)計 CPU 內(nèi)存 硬盤 使用率的shell腳本,供大家學(xué)習(xí)參考2013-02-02