【发布时间】:2020-05-24 13:05:25
【问题描述】:
#!/bin/bash
if [ "$1" == "" ] || [ "$2" == "" ] || [ "$3" == "" ]
then
echo This is empty or does not have all 3 parameters
exit
elif [ "$1" -lt 0 ]
then
echo This aint a number
exit
fi
尝试运行脚本,假设首先检查是否输入了 3 个位置参数, 其次检查输入是否为数字,然后显示最大的。我得到了第一个 if 语句,但是当我为第一个参数输入一个字符串来测试 elif 语句时,出现一个错误,表明需要整数。
【问题讨论】:
-
您输入的是什么字符串?如果不是整数,
[不能用它和 0 比较,使用-lt。 -
当我运行脚本时我把 ./largest.sh Test 2 4,使用“Test”作为字符串,看看脚本中的 if 语句是否有效
标签: bash if-statement