终端不调用“then”,报告语法错误并且找不到命令

终端不调用“then”,报告语法错误并且找不到命令

我有 CentOS 7。我正在 BASH 中运行一个非常简单的脚本。我执行了 chmod 命令,然后从终端运行脚本文件。我收到一条错误消息“如果找不到命令”,这是一个语法错误。你能帮我解决这个问题吗?

#!/bin/bash
clear
echo "Enter a number:"
read number
if["$num" -eq 10]
then
echo "the number is 10"
elif["$num" -lt 10]
then
echo "that number is less then 10"
elif["$num" -gt 10]
then
echo "this is greater than 10"
else
echo "the number is between 10 and 20"
fi

输出:

Enter a number:
100
./arya.sh: line 6: if[ -eq 10]: command not found
./arya.sh: line 7: syntax error near unexpected token `then'
./arya.sh: line 7: `then'

答案1

[您需要在/]和它们旁边的任何内容之间至少放置一个空格:

if [ "$num" -eq 10 ]

[实际上是一个 bash 命令,是计算表达式的命令的别名test,并且结束语]必须独立存在,因此不会将其作为表达式的一部分进行计算。

相关内容