shell脚本语法错误

shell脚本语法错误

我刚刚开始学习UNIX,我无法弄清楚这里的问题,你能指出错误吗

age=30

if [[ $age -lt  18 ]]

then
        echo "not eligible"

elif  [[ $age -gt 18 && $age -lt 60 ]]
        echo "eligible"
else
        echo "stay home"
fi
exit

答案1

then您的脚本有几个问题,但最紧迫的一个是第二次测试后缺乏。

您还对 进行了不必要的测试$age -gt 18,这另外引入了逻辑错误。您已经知道$age此时小于 18,并且您不小心遗漏了$age恰好为 18 的情况。最好$age -gt 18完全删除该测试。

该脚本不需要exit在末尾显式调用,但应该#!在顶部有一个 -line 指向适当的 shell 解释器(可能bash)。

你可能会发现https://www.shellcheck.net/一个有用的网站,用于查找脚本中最基本的错误。


#!/bin/bash

age=30

if [[ $age -lt 18 ]]; then
        echo 'not eligible'
elif [[ $age -lt 60 ]]; then
        echo 'eligible'
else
        echo 'stay home'
fi

相关内容