bash - 为什么我的 bash 脚本不起作用?

标签 bash ffmpeg

我试图让这个 bash 脚本工作,但不知所措。我有一个文本文件,其中包含逐行的帧号列表。 ffmpeg 报错:

Undefined constant or missing '(' in '$name)'

剧本
#!/bin/bash
source text.txt
while read name
do
 ffmpeg -i result.mp4 -vf "setpts=N+1,select='eq(n,\$name)'" -vframes 1 frame-$i.jpg
done <text.txt

最佳答案

你正在逃离 $在变量名之前,即 $name ,所以 $name将在不进行任何变量扩展的情况下按字面意思对待。

做:

ffmpeg -i result.mp4 -vf "setpts=N+1,select='eq(n,$name)'" -vframes 1 frame-$i.jpg

关于bash - 为什么我的 bash 脚本不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37237832/

相关文章:

linux - bash sed 与/^$/d;G 命令

linux - 使用 grep 就像 awk 中的条件一样

bash - 在 bash 中查找按空格分割的字符串中的选项

python - 保存 matplotlib 动画会导致错误

ffmpeg - 使用ffserver做UDP组播流

linux - 从命令行启动应用程序

bash - 使用RUN命令在Docker中执行Shell脚本

ffmpeg 元数据副本(全部)

heroku - 让 ffmpegthumbnailer 在 heroku 上工作

ffmpeg - 4CIF H263 视频解码失败