#windows #bash #scripting #git-bash
#Windows #bash #сценарии #git-bash
Вопрос:
Я пытаюсь написать простой скрипт bash с циклом for внутри инструкции if-else. Работает следующий код:
if [ $# -le 0 ]; then
echo 'No arguments provided.'
else
echo "Arguments detected."
fi
Но как только я заменяю второй echo
на цикл for, он прерывается:
if [ $# -le 0 ]; then
echo 'No arguments provided.'
else
for i in "$@"
do
echo "Arguments detected: $i"
done
fi
Я пытался выполнить только цикл for, и мне выдается ошибка, поэтому я думаю, что цикл for каким-то образом неправильный, но я не знаю как. Ошибка заключается в:
bash: C:/Users/Angleton/.bashrc: line 45: syntax error near unexpected token `fi'
bash: C:/Users/Angleton/.bashrc: line 45: ` fi'
Комментарии:
1. У меня работает с использованием
bash-4.3.30
. Возможно, у вас есть какие-то странные символы пробела в миксе … возможно, попробуйте аккуратно перепечатать его.2. Вы можете проверить, нет ли необычных пробелов или других странных символов, напечатав скрипт с помощью
LC_ALL=C cat -vet .bashrc
и посмотреть, печатает ли он что-нибудь странное (кроме «$» в конце каждой строки — это нормально дляcat -e
).3. Я вижу только
$
на концах.