shell字符串截取報錯:Bad substitution的解決
問題重現(xiàn):
當前系統(tǒng)Ubuntu16
shell進行字符串截取
運行 ${GIT_COMMIT:0:6}報錯:
/tmp/jenkins7505855461406722507.sh: 4: /tmp/jenkins7505855461406722507.sh: Bad substitution
原因:兩種shell語言解釋器 bash和dash
查看當前/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
或者運行 sudo dpkg-reconfigure dash
后選擇NO
或者修改表達式 ${GIT_COMMIT:0:6}為:
$(echo $GIT_COMMIT | awk '{ string=substr($0,0,6); print string; }')
到此這篇關于shell字符串截取報錯:Bad substitution的解決的文章就介紹到這了,更多相關shell字符串截取報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用Linux shell腳本實現(xiàn)FTP定時執(zhí)行批量下載指定文件
使用FTP定時批量下載指定文件的shell腳本,具體實例介紹如下所示,需要的朋友參考下吧2017-04-04對Linux下shell編程之for循環(huán)的實例講解
今天小編就為大家分享一篇對Linux下shell編程之for循環(huán)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06一個用了統(tǒng)計CPU 內(nèi)存 硬盤 使用率的shell腳本
一個統(tǒng)計 CPU 內(nèi)存 硬盤 使用率的shell腳本,供大家學習參考2013-02-02