2016-11-11 29 views
2

我有一个我正在制作的脚本,它是一个非常简单的登录脚本。在一个bash“IF”语句中使用两个表达式

我在想,如果你可以有两个表达式中的一个庆典“IF”语句,就像这样:

if [ $User == "root" and $Pass == "passwd" ] 

如果任何人都可以回答,那将是巨大的:d

回答

4

bash,你应该使用条件表达式

if [[ $User == root && $Pass == passed ]]; 

如果您需要或想要使用test,然后再加入用&&两个测试命令:

if [ "$User" = root ] && [ "$Pass" = passed ]; 

一定要现在te用作参数[的参数的任何参数扩展,并使用=而不是==

0

使用-a并。而且,=而不是==。另外你最好双引号变量,否则当变量没有设置时你会看到语法错误。

if [ "$User" = "root" -a "$Pass" = "passwd" ]

+3

'-a'被宣布已过时,不应使用。相反,用'&&'连接两个命令:'[“$ User”= root] && [“$ Pass”= passed]'; – chepner