string – bash:Bad Substitution

前端之家收集整理的这篇文章主要介绍了string – bash:Bad Substitution前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
#!/bin/bash

jobname="job_201312161447_0003"
jobname_pre=${jobname:0:16}
jobname_post=${jobname:17}

这个bash脚本给我在Ubuntu的错误替代错误。任何帮助将高度赞赏。

Ubuntu下的默认shell(/ bin / sh)指向dash,而不是bash。
me@pc:~$ readlink -f $(which sh)
/bin/dash

所以,如果你chmod x your_script_file.sh然后运行它./your_script_file.sh,或者如果你运行它与bash your_script_file.sh,它应该工作正常。

使用sh your_script_file.sh运行它不会工作,因为hashbang行将被忽略,脚本将由dash解释,它不支持该字符串替换语法。

猜你在找的Bash相关文章