您的位置:首页 > 教程 > linux shell > shell字符串截取报错:Bad substitution的解决

shell字符串截取报错:Bad substitution的解决

2020-10-16 14:58:38 来源:易采站长站 作者:

shell字符串截取报错:Bad substitution的解决,报错,字符串,站长站,两种,文章

shell字符串截取报错:Bad substitution的解决

易采站长站,站长之家为您整理了shell字符串截取报错:Bad substitution的解决的相关内容。

问题重现:

当前系统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字符串截取报错内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!

以上就是关于对shell字符串截取报错:Bad substitution的解决的详细介绍。欢迎大家对shell字符串截取报错:Bad substitution的解决内容提出宝贵意见

微信扫一扫

易采站长站微信账号