これが私のbashスクリプトです:
#!/bin/bash -x
for file in /home/sam/Desktop/RecoveredPix/*
do
model=$(exif -m -t Model $file)
if ["$model"=="Canon EOS REBEL T3i"]; then
echo $file >> /home/sam/Desktop/mypix.txt;
fi
done
こんにちは、私は回復したたくさんの写真を持っており、特に私のカメラである T3i で撮影した写真を探しています。私はこのスクリプトを書いて、exif データのモデルを見て、「Canon EOS REBEL T3i」と一致する場合、そのパスをファイルに追加します。ただし、このスクリプトを実行すると、ターミナルに次のように返されます。
+ for file in '/home/sammeh/Desktop/100CANON/*'
++ exif -m -t Model /home/sammeh/Desktop/100CANON/IMG_0019.JPG
+ model='Canon EOS REBEL T3i'
+ '[Canon EOS REBEL T3i==Canon EOS REBEL T3i]'
/home/sammeh/Desktop/Search Pix.sh: line 5: [Canon EOS REBEL T3i==Canon EOS REBEL T3i]: command not found
これは、機能の検証のためだけに撮影された既知の写真に対して行われました。ただし、何らかの理由で bash が if ステートメントをコマンドとして解析していることがわかります。何か助けはありますか?ありがとう!
Ubuntu 13.04 x64 を実行しています