【发布时间】:2018-01-21 07:11:23
【问题描述】:
我尝试了许多不同的组合,包括括号、引号、||、-o,但脚本在没有无限循环的情况下工作的唯一方法是在 while 循环比较中没有 OR,如下所示:while [ $name != Jorge ]] ; do ... 这是一个我要运行的脚本示例:
#!/bin/bash
echo "What is my name: "
read name
while [ $name != "Jorge" ] || [ $name != "Eduardo" ] ; do
echo "Not. Try again: "
read name
done
echo "Well done!"
【问题讨论】:
-
我建议用
&&替换|| -
由于您使用的是
bash,因此您也可以使用正则表达式运算符while [[ ! $name =~ ^(Jorge|Eduardo)$ ]]; do
标签: bash while-loop