bash – 字符串比较不起作用

前端之家收集整理的这篇文章主要介绍了bash – 字符串比较不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于某些原因,此脚本打印“字符串相等”
#!/bin/bash
A='foo'
B='bar'

if [ $A=$B ];
then
  echo 'strings are equal' 
fi

我究竟做错了什么?

你必须在等号左边留个空格:
if [ "$A" = "$B" ];
then
  echo 'strings are equal' 
fi

编辑:请注意变量周围的引号.没有他们,如果其中一个是空的,你会陷入麻烦.

否则,如果字符串“foo = bar”的长度为> 0,则测试将被解释为测试.
看人测试:

...
   STRING equivalent to -n STRING
   -n STRING
          the length of STRING is nonzero
   ...

猜你在找的Bash相关文章