我正在尝试使用Bash(使用Ubuntu)获得一个if声明:
#!/bin/bash
s1="hi"
s2="hi"
if ["$s1" == "$s2"]
then
echo match
fi
Run Code Online (Sandbox Code Playgroud)
我尝试了各种形式的if语句,使用[["$s1" == "$s2"]],有和没有引号,使用=,==和-eq,但我仍然得到以下错误:
[hi:命令未找到
我查看了各种网站和教程并复制了这些内容,但是它不起作用 - 我做错了什么?
最后,我想说是否$s1包含$s2,所以我该怎么做?
我刚刚解决了空位...:/我怎么说包含?
我试过了
if [[ "$s1" == "*$s2*" ]]
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我试图比较bash中的字符串.我已经找到了关于如何在stackoverflow上执行此操作的答案.在我尝试的脚本中,我使用的是Adam在提到的问题中提交的代码:
#!/bin/bash
string='My string';
if [[ "$string" == *My* ]]
then
echo "It's there!";
fi
needle='y s'
if [[ "$string" == *"$needle"* ]]; then
echo "haystack '$string' contains needle '$needle'"
fi
Run Code Online (Sandbox Code Playgroud)
我也尝试过你可以在第二篇文章中找到的ubuntuforums方法
if [[ $var =~ regexp ]]; then
#do something
fi
Run Code Online (Sandbox Code Playgroud)
在这两种情况下我都收到错误:
[[: not found
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?