Я написал сценарий bash, и я получаю сообщение об ошибке, когда проверяю условие, является ли переменная пустой или нет.bash неожиданный токен, затем ошибка
Ниже приведен пример сценария:
Я не упомянул команды, которые выполняются для присвоения значений переменных а и ФНЕ но
#! /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
ошибка: ошибка синтаксиса около неожиданной лексемы «затем» ,
Я попробовал еще один вариант, как это:
#! /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
опять же ошибку.
Я не уверен, в чем причина ошибки. Значение переменной а, как это:
Что-то с ним (1): [х, у]
он содержит, пробелов, скобок, запятой, толстой кишки. Я сопоставляю имя переменной в двойных кавычках.
Это трудно понять, почему вы используете цикл. Кажется, вы никогда не используете переменную 'f'. – devnull