• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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字符串截取报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Linux Shell 截取字符串的方法示例
    • shell编程中的字符串截取方法小结
    • Powershell截取字符串并添加省略号的例子
    • Shell脚本8种字符串截取方法总结
    • Shell字符串截取的详细方法
    上一篇:详解shell中脚本参数传递的两种方式
    下一篇:shell中set指令的用法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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