bash 中的数值测试:需要整数表达式

bash 中的数值测试:需要整数表达式

我用 bash 语言创建了一个简单的脚本来清理 Ubuntu 中的回收站。

这是脚本“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

相关内容