在bash中将两个字符串与“ - ”连字符进行比较

时间:2013-12-21 13:55:26

标签: string bash compare hyphen

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

if [[ "–change_team" == "${Args[2]}" ]]; then

其中“$ {Args [2]}”是“-change_team”

我试图像这样打印“-change_team”:

echo "–change_team"

我得到的是:

âchange_team

if语句永远不会成功,我尝试用“\”来逃避它对我来说不顺利。 我感谢任何帮助, 谢谢 -Emad

1 个答案:

答案 0 :(得分:2)

根据用于用户界面的字符,有一些不同的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

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