var1
我有一个在 BASH 中使用的字符串。可以是三个值
var1=on
var1=off
或者var1
可以等于任何不等于on
或off
我希望在 BASH 中构建一个 if 语句来测试$var1
其内容,如下所示;
如果$var1
字符串等于“ on
”或“ off
”,则退出 if 语句。如果$var1
等于其他任何东西继续...
我尝试了很多可能性,包括 -ne、!=、||和 -o 和我完全混乱。
下面我粘贴了我正在使用的内容、我使用它得到的内容以及我想要的内容。
var1=on
if [[ ${var1} != 'on' || $var1 != 'off' ]]; then echo var1 is NOT equal to \"on\" or \"off\". Var1 is equal to $var1 else echo var1 IS equal to \"on\". Var1 is equal to $var1 fi
这会产生;
var1 is NOT equal to "on" or "off". Var1 is equal to on
我想要的是;
var1 IS equal to "on". Var1 is equal to on
答案1
#!/bin/bash
read -p "introduce a value: " var1
if [[ ${var1} != 'on' && ${var1} != 'off' ]];
then
exit
else
echo "CORRECT"
fi