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

関連情報