0
これはパラメータ拡張に関する非常に基本的な質問です。可変数のパラメータコンポーネントに展開するパラメータをコード化する方法
フォーム1:
ffmpeg ... -acodec copy ...
フォーム2:
ffmpeg ... -an ...
私は、パラメータを表したいと思い一例として、ここではffmpegのコマンドのためのオーディオコーデックパラメータの2つの形態があります(形式1の場合)両方のシナリオで動作する1つまたは複数の変数としてのその値。この作品
param="-acodec copy"
ffmpeg ... "$param" ...
をも行います:
param1="-acodec"
param2=" copy"
ffmpeg ... "$param1$param2"
逆に、これはフォーム2のために働くの
これは、フォーム1のために働く:
param1="-acodec"
param2="copy"
ffmpeg ... "$param1" "$param2" ...
が、これは動作しません。 :
param="-an"
ffmpeg ... "$param" ...
、これは動作します:
param1="-an"
param2=""
ffmpeg ... "$param1$param2"
が、これは明らかにあるため、余分な空白文字で動作しません:
param1="-an"
param2=""
ffmpeg ... "$param1" "$param2" ...
は、パラメータの両方の形式のために働く単一の式はありますか?
これは私の最初のテストでは完全に機能します。ありがとうございました! – scolfax
自分自身のような他の初心者のために、次のようにパラメータを追加できることが分かりました(現在のffmpegの例に続きます):param + =( - vcodec libx264); param + =( - ar 48000);単一の式「$ {param [@]}」は、すべてのパラメータを適切に拡張します。非常に役に立つヒント、chepnerにもう一度感謝します。 – scolfax