shell脚本中,为啥不论输入什么,都只输出第四句

img

你这写的有问题,估计你是没有理解 字符比较与变量赋值的区别,最大的区别就是:

  1. 字符比较,== 两边必须要有空格
  2. 变量赋值,刚刚好相反,两边都不能有空格
#!/bin/bash

read -p "please input(y/n):" value

if [ "$value" == "y" ] || [ "$value" == "Y" ];then
  echo "your input is y"
  exit 0
elif [ "$value" == "n" ] || [ "$value" == "N" ];then
  echo "your input is: $value"
  exit 0
else
  echo "your input is: $value"
  echo "your input can't identify"
fi

是不是因为你给变量加了双引号,导致计算机对它的判断变成了其值是否为空的判断,把"$value"中的双引号去掉试试。