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

时间:2019-07-16 23:21:39

标签: bash

任何人都可以让我知道为什么我的比较逻辑一直失败。每次尝试我都会不匹配

#!/bin/bash

AddComponentToComponent "home-navbar" "app"

...

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

1 个答案:

答案 0 :(得分:2)

根据比较结果,匹配项有效,但是您的示例不起作用,因为您在调用后声明了该函数。

如果您希望在代码中使用此顺序,则可以声明一个main函数

#!/bin/bash

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

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


main "$@"