bash - 如何比较 Bash 中 'if' 语句中的两个字符串变量?

标签 bash if-statement scripting

<分区>

我正在尝试让 if 语句在 Bash 中工作(使用 Ubuntu ):

#!/bin/bash

s1="hi"
s2="hi"

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

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

[hi: command not found

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

最后,我想说如果 $s1 包含 $s2,那我该怎么做呢?

我只是算出了空格位... :/我怎么说包含

我试过了

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

但是没用。

最佳答案

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

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

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

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

对于a包含b,使用:

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

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

差:

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

好:

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

关于bash - 如何比较 Bash 中 'if' 语句中的两个字符串变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51736877/

相关文章:

Python IF 多个 "and" "or"在一条语句中

linux - BASH 变量与字符串的比较总是失败

python - linux中如何控制后台进程

linux - 删除文件中匹配一个字符串但不匹配另一个字符串的行 - SED,BASH?

bash:rsync 选项作为变量

Javascript if/if else/else 不工作

java - 程序结束时不考虑 if 语句(编码初学者)

python - 随着 Lua 和 Python 的嵌入,是否还有 Basic 的一席之地?

bash - Unix bash 别名在启动 screen 后不起作用

linux - 如何检查 rmdir 是否返回 EEXIST 或 ENOTEMPTY?