我正在尝试比较两个字符串,但遇到了问题

我正在尝试比较两个字符串,但遇到了问题
read -p 'username : ' usr_value
read -sp 'password : ' psw_value
echo
a=fghj
if["usr_value" = "$a"]  #I am having problem in this line
   then
     echo "you have correct username" 
   else
     echo "you have incorrect username"
if

答案1

这里我看到两个问题,

  1. 语法if:你似乎没有遵循正确的语法。它必须是这样的

    if [ <condition> ] #mind the whitespaces
    

    此外,您需要将的值usr_value与作为值的a值进行比较,即在您的代码中将其视为字符串值而不是变量。因此,它应该是这样的ausr_valueusr_value

    if [ "$usr_value" = "$a" ]
    
  2. if else应该以 结尾,但是您在语句末尾再次fi使用了。ifif else

相关内容