Bash字符串比较不断返回错误结果

Bash字符串比较不断返回错误结果,bash,Bash,我试图找出为什么我的比较逻辑总是失败。我每次尝试都没有对手 #!/bin/bash AddComponentToComponent "home-navbar" "app" ... AddComponentToComponent() { if [[ "$1" == "home-navbar" ]] && [[ "$2" == "app" ]]; then echo "match" else echo "no match" fi } 匹配根据比较进

我试图找出为什么我的比较逻辑总是失败。我每次尝试都没有对手

#!/bin/bash

AddComponentToComponent "home-navbar" "app"

...

AddComponentToComponent() {
  if [[ "$1" == "home-navbar" ]] && [[ "$2" == "app" ]]; then
    echo "match"
  else
    echo "no match"
  fi
}

匹配根据比较进行,但您的示例将不起作用,因为您在调用后声明了函数

如果您希望在代码中使用这种顺序,那么可以声明一个主函数

#!/bin/bash

main() {
AddComponentToComponent "home-navbar" "app"
 }

AddComponentToComponent() {
if [[ "$1" == "home-navbar" ]] && [[ "$2" == "app" ]]; then
    echo "match"
else
    echo "no match"
fi
}


main "$@"

请将您发布的代码复制粘贴到新文件中,并运行/修改它,直到它显示出您所说的问题为止。然后更新您的postCannot问题。它匹配。当我尝试它时工作。在使用函数之前,您需要有函数声明。是的,我确实运行了它。