При правильной балансировке скобок ваш код работает.
Но так как вместо ]
у вас есть закрывающий '}', }
является частью теста -n
, и проверяемая строка никогда не бывает пустой. Выполняя с помощью set -x
, вы можете увидеть, как это выполняется:
+ '[' -n '}'
PS :Ваш код может иметь проблемы, если ваш find
возвращает более одного файла. Поместите кавычки вокруг "$(find...)"
.