我试图让这个 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/