Здравствуйте, у меня возникла проблема.
Уже нет сил долбиться с ней поэтому пришёл за советом. Только сильно не бейте за такие вопросы, но сил уже правда нет.
У меня cygwin — эмулятор bashell’a в винде. Я никак не могу составлять скрипты с использованием конструкций типа if for while case…
например пишу в блокноте
—————————--
while [ $1 ] ; do
echo $1;
shift;
done
—————————--
Ответ
—————————--
Администратор@user ~
$ f a b c
: command not foundine 1:
a
: command not foundine 2:
: command not foundine 3:
: command not foundine 1:
b
: command not foundine 2:
: command not foundine 3:
: command not foundine 1:
c
: command not foundine 2:
: command not foundine 3:
—————————--
или
—————————--
while [ $1 ] ; do
if true then
echo $1;
fi
shift;
done
—————————--
Администратор@user ~
$ f a b c
/usr/local/bin/f: line 6: syntax error near unexpected token `done'
/usr/local/bin/f: line 6: `done'
—————————--
но
while [ $1 ] ; do echo $1; shift; done
дает что надо
Администратор@user ~
$ f a b c
a
b
c
——————————-
Но если в строку и ещё внутрь толкнуть какой-нибудь if то уже ничего работать не будет.
Я посмотрел скрипты которые уже есть в установленном кугвине. В блокноте там всё в одну строку, но вместо переноса строки квадратик, мол хз какой символ.
Что с переносом? В чем проблема? С кодировкой?
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Это тебе прямиком сюда:
http://gazette.linux.ru.net/rus/articles/abs-guide/index.html
Просто в виндовсе и в линуксе разные символы завершения строки. Что получается, когда линуксовый текстовый документ открываешь в виндовсе, ты сейчас и наблюдаешь ;).
Первая твоя программа работает нормально. Во второй перед then нужен ; или \n.
И выбери какой-нибудь текстовый редактор посолиднее блокнота. Который решит тебе проблему с переносами строк и многим другим.
не пользуйся блокнотом. если хочеться стандартными виндовыми средствами, то используй wordpad. у него нету проблем с переводом строк.
Всем спасибо.