Linux

終端不呼叫“then”,報告語法錯誤和找不到命令

  • August 20, 2018

我有 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'

您需要在[/]和它們旁邊的任何內容之間放置至少一個空格:

if [ "$num" -eq 10 ]

[實際上是一個 bash 命令,是test計算表達式的命令的別名,並且關閉]必須獨立存在,因此它不會作為表達式的一部分進行計算。

引用自:https://unix.stackexchange.com/questions/211488