Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash-意外标记'fi'_Linux_Bash_Terminal - Fatal编程技术网

Linux Bash-意外标记'fi'

Linux Bash-意外标记'fi',linux,bash,terminal,Linux,Bash,Terminal,比较IF语句中的两个字符串时出现问题 if [ $users -eq $usersFinal ] ; than echo "Well done!" fi 我遇到了一个意外的标记'fi'错误,真的看不出语法中有什么错误。您仍然缺少一个;在你的一行 users=9 usersFinal=9 if [ "$users" -eq "$usersFinal" ];then echo "Bravoidididid!" fi 您的oneliner: users=9;usersFina

比较IF语句中的两个字符串时出现问题

if [ $users -eq $usersFinal ] ; than 
    echo "Well done!"
fi

我遇到了一个意外的标记'fi'错误,真的看不出语法中有什么错误。

您仍然缺少一个;在你的一行

users=9
usersFinal=9

if [ "$users" -eq "$usersFinal" ];then 
    echo "Bravoidididid!"
fi
您的oneliner:

users=9;usersFinal=9;if [ "$users" -eq "$usersFinal" ] ; then echo "Bravoidididid!" fi
错过了最后一次

users=9;usersFinal=9;if [ "$users" -eq "$usersFinal" ] ; then echo "Bravoidididid!"; fi
我假设users和usersFinal是整数,而不是字符串

对于一家公司来说;在then和fi之前进行if测试

如果users/usersFinal是字符串,则使用==

users='fred';usersFinal='fred';if [ "$users" == "$usersFinal" ] ; then echo "Bravoidididid!"; fi

users='fred george'
usersFinal='fred george'

if [ "$users" == "$usersFinal" ];then 
    echo "Bravoidididid!"
fi
注意,在这里用字符串引用变量变得很重要。对于单括号,如果其中一个变量为空,则有必要避免错误

-gt、-lt、-eq、-le、-ge是整数比较运算符

请注意,您将看到$x=$y的示例,也就是单个=,但我发现显式使用==总是用于Bash中的字符串比较更清晰、更容易阅读。请注意,=和==与[[]]之间的细微差异


当您使用>和-gt时,请特别注意该页上的内容。记住它的简单方法:[$a>$b]]但是[$a-gt$b]单括号和双括号。

你仍然缺少一个;在你的一行

users=9
usersFinal=9

if [ "$users" -eq "$usersFinal" ];then 
    echo "Bravoidididid!"
fi
您的oneliner:

users=9;usersFinal=9;if [ "$users" -eq "$usersFinal" ] ; then echo "Bravoidididid!" fi
错过了最后一次

users=9;usersFinal=9;if [ "$users" -eq "$usersFinal" ] ; then echo "Bravoidididid!"; fi
我假设users和usersFinal是整数,而不是字符串

对于一家公司来说;在then和fi之前进行if测试

如果users/usersFinal是字符串,则使用==

users='fred';usersFinal='fred';if [ "$users" == "$usersFinal" ] ; then echo "Bravoidididid!"; fi

users='fred george'
usersFinal='fred george'

if [ "$users" == "$usersFinal" ];then 
    echo "Bravoidididid!"
fi
注意,在这里用字符串引用变量变得很重要。对于单括号,如果其中一个变量为空,则有必要避免错误

-gt、-lt、-eq、-le、-ge是整数比较运算符

请注意,您将看到$x=$y的示例,也就是单个=,但我发现显式使用==总是用于Bash中的字符串比较更清晰、更容易阅读。请注意,=和==与[[]]之间的细微差异


当您使用>和-gt时,请特别注意该页上的内容。简单的记忆方式:[[$a>$b]]但是[$a-gt$b]单括号和双括号。

你不需要超过。thx伙计们,我感觉很糟糕,但这不是唯一的问题problem@TranceFusion:其他问题是什么?还是相同的错误如果,或者在这之后的陈述如果因为如果你做了,金融机构需要在所有陈述的末尾,你不需要。thx伙计们,我感觉很糟糕,但这不是唯一的problem@TranceFusion:其他问题是什么?还是相同的错误如果,或者后面的语句,如果,因为如果你这样做,fi需要在所有语句的末尾,在上一篇文章中,我评论说users和usersFinal是字符串,那么有什么不同吗?在上一篇文章中,我评论说users和usersFinal是字符串,那么有什么不同吗?