主页 > 知识库 > shell字符串截取报错:Bad substitution的解决

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

热门标签:Linux服务器 百度竞价排名 地方门户网站 AI电销 服务外包 呼叫中心市场需求 铁路电话系统 网站排名优化

问题重现:

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

您可能感兴趣的文章:
  • Linux Shell 截取字符串的方法示例
  • shell编程中的字符串截取方法小结
  • Powershell截取字符串并添加省略号的例子
  • Shell脚本8种字符串截取方法总结
  • Shell字符串截取的详细方法

标签:仙桃 湘潭 湖南 崇左 铜川 衡水 兰州 黄山

巨人网络通讯声明:本文标题《shell字符串截取报错:Bad substitution的解决》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266