2016-04-04 9 views
2

私はいくつかのビデオエンコーディングを自動化するzshスクリプトを書いています。変換するファイルは、この行を含むスクリプトの最初のパラメータ、次のようになります。

ffmpeg -i $1 -ac 0 -vcodec libx264 -b:v 500k -crf 20 ${1:r}.mp4 

私は.MOV入力と同じ名前のファイルを作成するために、${1:r}.mp4を期待しますが、.MP4ファイル拡張子を持ちます.movを置き換える。しかし、代わりに私はinput.mov.mp4を取得します。 :r修飾子がファイル拡張子を削除しないのはなぜですか?

+0

さて、愚かな質問:その代わりに、このような何かを行うことができます!それは本当に正しい、あなたはzsh' 'でそれを実行して、何の'#/ binに/ bash'または類似がない、zshのスクリプトです?さて、それは途方もないところで:何が間違っているのかを推測するのは少し難しいです。これは全体のスクリプトですか?あなたは '〜/ .zshenv'や'/etc/zshenv'(あるいは '/ etc/zsh/zshenv'かもしれません)の設定をしていますか?スクリプトの中に 'setopt'を置くと、何か出力されますか? – Adaephon

答えて

1

私は何か似たようなことを経験しました.zshは受け入れられないようです。最初

file=${1} 
ffmpeg -i $1 -ac 0 -vcodec libx264 -b:v 500k -crf 20 ${file:r}.mp4 
関連する問題