我试图接受用户输入并将其与Bash(macOS)中的字符串匹配

时间:2017-05-23 05:20:01

标签: bash

我正在尝试接受用户输入并将其与Bash(macOS)中的字符串匹配

#!/bin/bash

s2=“something”

echo please input your whatever you want, ya know

read string

if [ "$string” == "$s2" ]
then
  echo match
fi

2 个答案:

答案 0 :(得分:0)

我认为这就是你要做的事情:

s2="something"
echo please input your whatever you want, ya know
read string
if [ $string == "$s2" ]
  then echo "match"
fi

答案 1 :(得分:0)

请注意,您必须在shell脚本中使用ASCII双引号,而不是花哨的双引号。接下来,shell的正确的(可移植)字符串比较运算符为=,即使bash,在错误的尝试中使用较少的错误消息来缓解程序员生活,也接受==

更灵活的方法是使用case

case $string in
  ($s2) echo "match";;
  (foo) echo "got foo";;
  (*)   echo "no match";;
esac