У меня есть следующий сценарий:Использование констант (переменных) в Баш
#!/usr/bin/env bash
set -eux
# Go Home.
cd /vagrant/Freya/
CLEANED_ASSETS=false
## Clean up time!
## Remove all vendor and composer.lock folders - just because.
for f in *; do
if [[ -d $f ]]; then
if [[ $f != ".git" ]] && [[ $f != "bin" ]] && [[ $f != "docs" ]]; then
if [[ $f == "Loader"]] && CLEANED_ASSETS == false; then
if [[ -d "Assets"]]; then
cd Assets/
rm -rf vendor composer.lock
CLEANED_ASSETS = true
cd ../../
fi
fi
cd "$f/"
rm -rf vendor composer.lock
cd ../
fi
fi
done
Которые в основном не проходит проверку на линии 16: if [[ $f == "Loader"]] && CLEANED_ASSETS == false; then
бросая следующую ошибку:
$ bin/clean-directories
+ cd /vagrant/Freya/
+ CLEANED_ASSETS=false
bin/clean-directories: line 16: syntax error in conditional expression: unexpected token `;'
И я не являюсь Конечно, почему. Любые идеи?
Чтобы указать значение, содержащееся в 'CLEANED_ASSETS', вы должны префикс имени' ''. Также добавьте значение внутри двойных кавычек: '' $ CLEANED_ASSETS "==" false "' – higuaro