bash - 在 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
解决方案
最好在字符串变量周围加上引号以避免空格/换行符冲突。
#!/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
推荐阅读
- c# - C#:Moq System.NotSupportedException:无法将佣金问题应用于组件,因为它似乎是无目标代理
- javascript - 如何使单击的文本出现在表单字段上?
- go - 从数字数组中加/减值的最快方法是什么?
- openssl - SSL_get_error() 返回值 5
- python-3.x - Cloud Functions HTTP 触发器崩溃
- python - 我可以导入函数但不能导入错误的类“AttributeError:模块'XXXX'没有属性'YYYY'”
- css - 如何制作具有固定页眉和页脚以及可滚动内容的 flex 布局?
- mcmc - 无法从 Vehtari 论文中复制 RStan ESS 代码
- c++ - 这是空间复杂性的奇怪问题。有人可以提供任何见解吗?
- ios - 如何删除 NavigationBar 的右空间?