String 将两个字符串与“进行比较”-&引用;bash中的连字符

String 将两个字符串与“进行比较”-&引用;bash中的连字符,string,bash,compare,hyphen,String,Bash,Compare,Hyphen,我试图比较两个包含“-”的字符串,例如: if [[ "–change_team" == "${Args[2]}" ]]; then 其中“${Args[2]}”是“–变更团队” 我试着像这样打印“改变团队”: echo "–change_team" 我得到的是: âchange_team if语句从来没有成功过,我试着用“\”来逃避,但对我来说不太好。 我很感谢你的帮助, 非常感谢。 -Emad根据用户界面使用的字符,有一些不同的8位图形字符可能看起来像连字符。对于if语句: if [[

我试图比较两个包含“-”的字符串,例如:

if [[ "–change_team" == "${Args[2]}" ]]; then
其中“${Args[2]}”是“–变更团队”

我试着像这样打印“改变团队”:

echo "–change_team"
我得到的是:

âchange_team
if语句从来没有成功过,我试着用“\”来逃避,但对我来说不太好。 我很感谢你的帮助, 非常感谢。
-Emad

根据用户界面使用的字符,有一些不同的8位图形字符可能看起来像连字符。对于
if
语句:

if [[ "–change_team" == "${Args[2]}" ]]; then
如果我复制您的“–change_team”字符串并在此处使用它:

echo "–change_team" | od -c
我得到这个结果:

0000000 342 200 223   c   h   a   n   g   e   _   t   e   a   m  \n
0000017
如果它是一个真正的连字符,您将得到:

0000000 -   c   h   a   n   g   e   _   t   e   a   m  \n
0000017

因此,在原始脚本中,比较中使用的“连字符”不是正确的连字符。

该字符可能不是连字符。有一些不同的8位图形字符看起来像连字符,但根据显示的集合,它们不会显示为连字符。你看到的是
echo“-change_team”| od-c
echo“${Args[2]}”od-c
?它打印:0000000-c h a n g e_utee a m\n 0000015====================================0000000-c h a n g e_utea m\n 0000015与我得到的不匹配。当我使用您在问题陈述中显示的字符串(复制了“–change_team”和did
echo”–change_team”| od-c
)时,我得到:
0000000 342 200 223 c h a n g e_tea m\n
。因此,您在问题陈述中显示的不是连字符。这与我的ssh服务器有关吗?(大学)老实说,我认为连字符只是“-”的另一个名称,我不知道有什么区别。在
if[[“–change_team”==“${Args[2]}]”中检查“change_team”字符串前面使用的连字符;然后
。我认为那不是连字符。编辑脚本,删除
-
并尝试重新键入一个“真正的”连字符。非常感谢,当我从PDF中复制“–change_team”时,它似乎会复制为连字符,而我将其与普通破折号“-”进行比较@Emad4U是的,直接从PDF中复制有点风险,因为Adobe将使用他们选择的字体/字符来表示,例如,连字符。我很高兴你把一切都整理好了。:)