我编写了一个 bash 脚本,当我测试一个变量是否为空的条件时,我收到一个错误。
下面是一个示例脚本:
我没有提到为变量 a 和 fne 赋值而执行的命令,但是
#! /bin/bash
for f in /path/*
do
a=`some command output`
fne=`this command operates on f`
if[ -z "$a" ]
then
echo "nothing found"
else
echo "$fne" "$a"
fi
done
错误:意外标记“then”附近的语法错误。
我尝试了另一种这样的变体:
#! /bin/bash
for f in /path/*
do
a=`some command output`
fne=`this command operates on f`
if[ -z "$a" ]; then
echo "nothing found"
else
echo "$fne" "$a"
fi
done
再次出现同样的错误。
当我尝试以这种方式进行比较时:
if[ "$a" == "" ]; then
再次出现同样的错误。
我不确定错误的原因是什么。变量a的值是这样的:
有它的东西(1):[x,y]
它包含空格、括号、逗号、冒号。相比之下,我将变量名称用双引号括起来。