私はコマンドラインから3つのパラメータを取るbashスクリプトを持っています。ディレクトリ内のすべてのファイルを比較して、最初の2つのパラメータのタイプであるかどうかを確認します。そうであれば、FFMPEGコマンドを使用して、そのようなファイルを3番目のパラメーターのタイプに変換します。これは、このスクリプトは、.flvのためにaviファイルや.MP4ファイルのすべてを変換することを予期せぬトークンの近くにbashスクリプトの `do 'があります
./convert.sh .avi .mp4 .flv
:私は、次のコマンドでスクリプトを実行します。
私はスクリプトを実行すると、私はここでエラーに
syntax error near unexpected token `do' in bash script.
を取得するコードです:
#!/bin/bash
# $1 is the first parameter passed
# $2 is the second parameter passed
# $3 is the third parameter passed
for file in *.*;
do
#comparing the file types in the directory to the first 2 parameters passed
if[ (${file: -4} == "$1") || (${file: -4 } == "$2") ]{
export extension=${file: -4}
#converting such files to the type of the first parameter using the FFMPEG comand
do ffmpeg -i "$file" "${file%.extension}"$3;
done
を – sjsam
[shellcheck](http://www.shellcheck.net/)を使用してコードをテストし、私がやりました私はbashの初心者です。私はshellcheckのエラーメッセージのいくつかをよく理解していません。私が間違って行ったことのヒントがあれば大歓迎です。 – Avi
正直言って、このスクリプトではシバン線だけが正しいことがわかります。 – heemayl