这是我的代码
#! /bin/bash
read var
if [ $var="Y" -o $var="y" ]
then
echo "YES"
else
echo "NO"
fi
如果用户按 y 或 Y,我想打印 YES,否则我想打印 NO。为什么这段代码不起作用?
最佳答案
基本上,您的条件是错误的。引用您的变量并在运算符之间留出空格(如 shellter 所写)。所以它应该看起来像:
#! /bin/bash
read var
if [ "$var" = "Y" ] || [ "$var" = "y" ]
then
echo "YES"
else
echo "NO"
fi
编辑:为了 POSIX ccompatibility
- 将
==
替换为=
- 查看评论 - 将
-o
语法替换为||
语法 - 参见评论
关于bash - 如何在 bash 脚本中进行字符比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39550623/