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 [

관련 정보