@文心快码shell bad substitution 文心快码 在Shell脚本编程中,遇到“bad substitution”错误通常意味着脚本试图执行一个不被支持的替换操作。这个错误常见于Bash脚本,但也可能出现在其他Shell环境中,尤其是当脚本在不支持某些高级特性(如数组或参数扩展)的旧版或非Bash Shell中运行时。以下是针对您问题的详细回答: 1....
脚本执行到截取字符串时,报错提示:Bad substitution。 原因: 两种shell语言解释器 bash和dash,这种情况是指向了dash解释器导致。 解决方法: 1.查看shell指向:ls -l /bin/sh 2.修改脚本指向bash方法1:sudo dpkg-reconfigure dash然后选择no 修改脚本指向bash方法2:sudo rm -rf /bin/shsudo ln -s /bin/bash /b...
执行shell脚本文件提示: bad substitution 问题描述 由于业务需要早上修改了一个固定需求加工逻辑的一个子查询,把修改后的 hivesql 封装成 shell 脚本后执行报错了,运行脚本最后一行提示如下: t1.service_type;:bad substitution 问题分析 经过查询了解到 badsubstitution的字面意思,它的字面意思是“替换错误”的意思。这...
shell字符串截取报错:Badsubstitution的解决 问题重现:当前系统Ubuntu16 shell进⾏字符串截取 运⾏ ${GIT_COMMIT:0:6}报错:/tmp/jenkins7505855461406722507.sh: 4: /tmp/jenkins7505855461406722507.sh: Bad substitution 原因:两种shell语⾔解释器 bash和dash 查看当前/bin/sh 指向哪种解释器:ls /bin/sh -...
首先,我们要理解bad substitution的字面意思,它的字面意思是“替换错误”的意思。 这种错误的原因呢,通常是我们编写脚本时“{}”和“()”错误使用导致的。 比如应该用“()”时,我们用成了“{}”;应该用“()”时,用成了“{}”。 那么如何区分什么时候用什么类型的括号呢?
Shell脚本运行报错Bad substitution解决办法 环境Ubuntu18.4.02 脚本运行报错 # sh test.shtest.sh:2: test.sh: Bad substitution 1. 2. 原因 从ubuntu 6.10 开始,ubuntu 就将先前默认的bash shell 更换成了dash shell;其表现为 /bin/sh 链接倒了/bin/dash而不是传统的/bin/bash。
/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 AI代码助手复制代码 ...
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 ...
运行shell脚本出现Bad Substitution错误 通过sh xxx.sh运行某个shell脚本,发现出现Bad Substitution错误。 最终发现是shell脚本解释器的问题,我采用sh这个命令执行的脚本,对sh这个命令,查看其属性发现: 即最终指向的是dash这个解释器。而我们的shell脚本中,有一些数组操作,dash解释器不支持这些操作,而bash解释器支持这些操作...
Ubuntu shell 截取字符串时:bad substitution Code: #!/bin/bash b=`lsof -i:1080 | grep LISTEN` # echo ${b} if [ -z "${b}" ]; then echo "b is empty" else echo ${b:1:18} fi sh执行脚本 h2o2@ubt:~/文档/01-shell$ sh 01-命令输出.sh 01-命令输出.sh: 10: 01-命令输出...