问题重现:
当前系统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
或者html" target="_blank">修改表达式 ${GIT_COMMIT:0:6}为:
$(echo $GIT_COMMIT | awk '{ string=substr($0,0,6); print string; }')
到此这篇关于shell字符串截取报错:Bad substitution的解决的文章就介绍到这了,更多相关shell字符串截取报错内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
本文向大家介绍Linux Shell 截取字符串的方法示例,包括了Linux Shell 截取字符串的方法示例的使用技巧和注意事项,需要的朋友参考一下 shell中截取字符串的方法很多 格式 说明 ${string: start :length} 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。 ${string: start} 从 string 字符串的
本文向大家介绍Python中的字符串切片(截取字符串)的详解,包括了Python中的字符串切片(截取字符串)的详解的使用技巧和注意事项,需要的朋友参考一下 字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引-1内的字符串 步长不指定时步长为1 字符串[开始索引:结束索引] 练习样例 截取2-末尾的字
substr key start end 返回截取过的key的字符串值,注意并不修改key的值。下标是从0开始的
主要内容:获取单个字符,获取多个字符(字符串截去/字符串切片)从本质上讲,字符串是由多个字符构成的,字符之间是有顺序的,这个顺序号就称为索引(index)。 Python 允许通过索引来操作字符串中的单个或者多个字符,比如获取指定索引处的字符,返回指定字符的索引值等。 获取单个字符 知道字符串名字以后,在方括号 中使用索引即可访问对应的字符,具体的语法格式为: strname[index] strname 表示字符串名字,index 表示索引值。 Pytho
本文向大家介绍shell编程中的字符串截取方法小结,包括了shell编程中的字符串截取方法小结的使用技巧和注意事项,需要的朋友参考一下 一、Gnu Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘{print substr(,1,8)}' 3.echo $a|cut -c1-8 4.echo $ 5.expr
本文向大家介绍JS截取字符串实例详解,包括了JS截取字符串实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS截取字符串的方法。分享给大家供大家参考,具体如下: js截取字符串可使用 substring()或者slice() 函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: 函数:John() 功能:使用您选择的分隔符将一个数组合并为一个字符串