具有多个条件的 if 语句不起作用

具有多个条件的 if 语句不起作用

我正在阅读所有有关 if 语句的帖子,但没有一个似乎解决了我的问题。我正在编写一个 shell 脚本,我需要验证用户的操作输入(加法、减法、除法)。我的代码如下:

valid_operator(){
  if [[ "$operator" != "+"  ||  "$operator" != "-" || "$operator" != "/"]]; then
   echo "Sorry, $operator, ++ is not a valid operator. Please re-enter valid operator"
   main
  fi
}

答案1

我认为这只是一个语法错误,因为 和 IIUC 之前缺少空格,如果没有测试任何值,]]您想要 IIUC 吗?我测试了这个部件,这应该可以工作。true$operatorif-then

valid_operator(){
  if [[ "$operator" != "+"  &&  "$operator" != "-" && "$operator" != "/" ]]; then
    echo "Sorry, $operator, ++ is not a valid operator. Please re-enter valid operator"
    main
  fi
}

3 输入异或门:)

相关内容