小编典典

如何在 Bash 的“if”语句中比较两个字符串变量?

all

我正在尝试获得在Bashif中工作的声明(使用Ubuntu):

#!/bin/bash

s1="hi"
s2="hi"

if ["$s1" == "$s2"]
then
  echo match
fi

我尝试了各种形式的if语句,使用[["$s1" == "$s2"]],带和不带引号,使用===-eq,但我仍然收到以下错误:

[嗨:找不到命令

我查看了各种站点和教程并复制了它们,但它不起作用 - 我做错了什么?

最后,我想说 if $s1contains $s2,那我该怎么做呢?

我只是计算了空格…:/我怎么说 包含

我试过了

if [[ "$s1" == "*$s2*" ]]

但它没有用。


阅读 142

收藏
2022-03-03

共1个答案

小编典典

对于字符串相等比较,使用:

if [[ "$s1" == "$s2" ]]

对于字符串不等于比较,请使用:

if [[ "$s1" != "$s2" ]]

对于acontains b,使用:

if [[ $s1 == *"$s2"* ]]

(并确保在符号之间添加空格):

坏的:

if [["$s1" == "$s2"]]

好的:

if [[ "$s1" == "$s2" ]]
2022-03-03