为什么这个 bash 脚本不起作用?

pme*_*ino 1 scripting linux bash shell-scripting

我正在制作一个 bash 脚本来检查磁盘上的可用空间:

if [ check_space -gt "85" ]; then
echo "removing"
else
echo "not removing"
fi
Run Code Online (Sandbox Code Playgroud)

check_space返回一个数字52check_space函数是:

check_space() {
df /dev/sda1 | tail -1 | awk '{print $5}' | sed 's/%//';
}
Run Code Online (Sandbox Code Playgroud)

它正在返回./backup.sh: line 63: [: check_space: a full expression was expected(我从西班牙语翻译它,所以可能不是准确的翻译)。可能有什么问题?

小智 10

您的条件实际上并不是在调用 check_space,您需要类似以下内容:

if [ `check_space` -gt "85" ]; then
Run Code Online (Sandbox Code Playgroud)