2016-05-15 65 views
1

我試圖讓這個bash腳本工作,但我很茫然。我有一個文本文件,它包含一行一行的幀號列表。 ffmpeg的報告錯誤:爲什麼我的bash腳本不工作?

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 
+1

抱歉,\去之前, – Mulvya

+1

它不應該是'的ffmpeg -i result.mp4 -vf「setpts = N + 1,選擇='EQ(N,$名稱)'「」-vframes 1 frame- $ i.jpg'? – heemayl

+1

'eq(n,\ $ name)' - >'eq(n,\ $ {name})'並重試? –

回答

2

你逃避$之前變量名即$name,所以$name將字面上治療無任何變量擴展正在做。

務必:

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

謝謝。我運行腳本,一旦涉及到用。我確實嘗試過,但不是運氣。 – JulianJ

+0

@JulianJ這是一個不同的問題,我想..你可以問它作爲一個新的問題,使這一個接受.. – heemayl

相關問題