我如何在 unix AIX 中编写 if 语句

Moh*_*deh 1 bash command-line-interface aix

我想写if如下语句:-

if [$x == "string"]

then

echo "ok"

fi

但出现以下错误

./bash_if.sh[6]: [0: not found.

Der*_*rfK 7

[在它后面需要一个空格,因为[它实际上是一个命令(/usr/bin/[在 Linux 上,虽然 bash 有一个它使用的内置版本)。如果没有空格,bash 会将 $x 转换为值,然后尝试运行命令[0,就像您输入了lssomedir或 一样echohi

此外,如果您正在测试字符串,您应该在 $x 周围加上引号:

if [ "$x" == "string" ]
Run Code Online (Sandbox Code Playgroud)

否则,如果 $x 为空或未设置,你会得到一个错误,因为没有引号,在“扩展” $x 之后,它看起来像

if [ == "string" ]
Run Code Online (Sandbox Code Playgroud)