我怎样才能找出哪个版本的shell(bash和/或ksh)开始支持==

[[string1 == string2]]和[[string1 = string2]]意味着相等。 但其他人告诉我他们的机器不支持==。 错误信息是:语法错误:`=='意外。

似乎他们使用非常旧的UNIX与Korn壳,我使用REHL5.2。 由于我无法访问他们的机器,我怎么知道哪个版本开始支持“==”?

谢谢

你可以看看$SHELL的值,看看它是否设置为shell的可执行文件。 然后你可以testing和分支它的价值,或缺乏价值; 我不知道这是否会设置在旧的炮弹。

如果你不需要[[然后使用[改为]的高级function。 本网页详细解释了不同之处。 也看看这个相关的问题 。

如果只打算用==比较string,那么使用POSIX语法来实现最大的兼容性: [ string1 = string2 ] ,它使用一个等号。