首页 > 解决方案 > 在 bash 脚本中,循环必须继续,直到输入特定的关键字

问题描述

#!/bin/bash
echo "------------"
echo "Welcome Page"
echo "------------"
a="mango"
while true
do
echo "Type mango for exit"
read data
if [ $data -ne $a]; then
echo "Wrong choice"
exit 1
fi

done

输出是:

------------
Welcome Page
------------
Type mango for exit
mango
while.sh: line 10: [: missing `]'
Type mango for exit

标签: bashloops

解决方案


最好在字符串变量周围加上引号以避免空格/换行符冲突。

#!/bin/bash

echo "------------"
echo "Welcome Page"
echo "------------"
a="mango"
while true
do
    echo "Type mango for exit"
    read data
    echo $data
    if [ "$data" != "$a" ]; then
        echo "Wrong choice"
        exit 1
    fi
done

推荐阅读