当我用sh运行它时,为什么我的bash代码会失败?
我有一行代码可以在我的终端中正常工作:
for i in *.mp4; do echo ffmpeg -i "$i" "${i/.mp4/.mp3}"; done
然后我在脚本中放入完全相同的代码行myscript.sh
:
#!/bin/shfor i in *.mp4; do echo ffmpeg -i "$i" "${i/.mp4/.mp3}"; done
但是,现在运行时出现错误:
$ sh myscript.sh myscript.sh: 2: myscript.sh: Bad substitution
基于其他问题,我尝试将shebang更改为#!/bin/bash
,但我得到完全相同的错误。为什么我不能运行这个脚本?