当我用sh运行它时,为什么我的bash代码会失败?

当我用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,但我得到完全相同的错误。为什么我不能运行这个脚本?


九州编程
浏览 949回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP