這是打印視頻的幀速率的bash腳本,它所需的參數可能包含空格。這個參數也將被用在腳本內的命令中。bash |在轉義空間時爲變量分配參數
#!/bin/bash
inputVid="$*"
#checking if $inputVid has full path
echo $inputVid
frames=`ffmpeg -i $inputVid 2>&1 | sed -n "s/.*, \(.*\) fp.*/\1/p"`
echo $frames
當我執行
$./frameRate.sh ../Downloads/FlareGet/Videos/Why\ .mp4
輸出爲:
../Downloads/FlareGet/Videos/Why .mp4
這樣的文件名是越來越正確傳遞,但空間沒有得到來自FFmpeg的
被轉義,因此沒有輸出有什麼辦法解決這個問題?
用雙引號括起文件名? – codeforester
@codeforester我也將從另一個python腳本作爲變量傳遞參數,所以引用文件名不是我的選擇! –