Bash 制限された属性を持つイメージのインポート

Bash 制限された属性を持つイメージのインポート

画像のバッチ操作用の新しい単純なbashスクリプトを作成しようとしています。いくつかの画像が必要です。この場合、画像は2Mbより大きく、幅は2000pxより大きい。しかし、私のスクリプトがうまくいかないようです。さまざまなバリエーションを試しましたが、常にエラーが発生します。10行目でコマンドが見つかりません。

私の問題は、if条件と文字列を整数に変換することにあると思います。

各画像のパラメータを取得するために認識(ImageMagickパッケージ)を使用しています。

¿私は何が間違っていますか?

#!/bin/bash

for d in */* ; do
        WIDTH="$(identify -format '%w' "$d")"
        WIDTH_LIMIT=$(($WIDTH+0))
        DATA="$(identify -format '%b' "$d")"
        SIZE=${DATA::-1}
        SIZE_LIMIT=$(($SIZE+0))
        if ["$WIDTH_LIMIT" -ge 2000] || ["$SIZE_LIMIT" -gt 2097152]
        then
        echo width in px: "$(($WIDTH+0))"px  ..  Size in bytes:  "$(($SIZE+0))" bytes
        fi

done

ベストアンサー1

[バイナリ関数またはbash統合関数です。
if実行を待っている間、0または1の内容が返されます。あなたの場合、シェルは引数を区切るためにスペースを使用し、正しいバイナリまたはbashコマンドではないので、引数を使用して
プログラムを実行しようとしています。したがって、通常のコマンドなので、常に前後にスペースを追加する必要があります。コマンドとして認識しないと、シェルに入力することはできません。マニュアルページがあるので構文を覚えやすくなることに気づきました。一度試してみると、これは単に実行可能または組み込みのシェルコマンド(Unix / Linuxの好みによって異なります)であり、通常の引数の後にスペースが必要です。["$WIDTH_LIMIT"-ge2000]["$WIDTH_LIMIT"
[]echo$UTYPATH[
man [

おすすめ記事