#!/bin/bash jobname="job_201312161447_0003" jobname_pre=${jobname:0:16} jobname_post=${jobname:17}
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解释,它不支持该字符串替换语法。