bash nieoczekiwany token, a następnie błąd
Napisałem skrypt basha i otrzymuję błąd podczas testowania warunku, czy zmienna jest pusta, czy nie.
Poniżej znajduje się przykładowy skrypt:
Nie wspomniałem o poleceniach wykonywanych w celu przypisania wartości do zmiennych a i fne, ale
#! /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
error: błąd składni w pobliżu nieoczekiwanego tokena, „then”.
Próbowałem innej odmiany takiej jak ta:
#! /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
znowu ten sam błąd.
kiedy próbuję porównać w ten sposób:
if[ "$a" == "" ]; then
znowu ten sam błąd.
Nie jestem pewien, co jest przyczyną błędu. Wartość zmiennej a jest następująca:
Coś z tym (1): [x, y]
zawiera spacje, nawiasy, przecinek, dwukropek. Porównuję nazwę zmiennej w cudzysłowach.