Bash의 숫자 테스트: 정수 표현식이 필요합니다.

Bash의 숫자 테스트: 정수 표현식이 필요합니다.

Ubuntu에서 휴지통을 정리하기 위해 bash 언어를 사용하여 간단한 스크립트를 만들었습니다.

이것은 "recycle.sh" 스크립트입니다.

#!/bin/bash
PUBLIC_PATH="/home/fileserv/.recycle/Public"
##### Clean public recycle folder
if [ !$(ls $PUBLIC_PATH | wc -l) -eq 0 ]; then
     /bin/rm -R $PUBLIC_PATH/*
fi

하지만 실행하면 # ./recycle.sh 다음 오류가 발생합니다.

./recycle.sh: line 4: [: !1: integer expression expected

누군가 이유를 설명할 수 있나요? 작동하게 하는 해결책이 있나요?

답변1

이 시도,

#!/bin/bash
PUBLIC_PATH="/home/fileserv/.recycle/Public"
##### Clean public recycle folder
if [[ !$(ls $PUBLIC_PATH | wc -l) -eq 0 ]]; then
    /bin/rm -R $PUBLIC_PATH/*
fi

관련 정보