Скриптованная речь при аутизме. Скриптование что это
Скрипт - это... Что такое Скрипт?
Скрипт — программа, содержащая набор инструкций для некоторых приложений или утилит. Семантика и синтаксис инструкций в скриптах определяются соответствующими приложениями. Обычно язык скриптов включает простые структуры управления: линейные… … Финансовый словарь
скрипт — 1 іменник чоловічого роду рукопис арх. скрипт 2 іменник чоловічого роду докладний опис процедури, сценарій техн … Орфографічний словник української мови
скрипт — см. анализ трансакционный. Словарь практического психолога. М.: АСТ, Харвест. С. Ю. Головин. 1998. скрипт … Большая психологическая энциклопедия
Скрипт — (от англ. script сценарий) элемент памяти . Схема события, которая включает в себя ряд отдельных эпизодов. Предполагается, что именно в форме скриптов организованы знания в памяти … Психологический словарь
СКРИПТ-ГЁРЛ — [англ. scriptgirl] арго секретарша режиссера (на киностудии). Словарь иностранных слов. Комлев Н.Г., 2006 … Словарь иностранных слов русского языка
СКРИПТ — Сценарий программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов
скрипт — сценарий Небольшая служебная программа или макрос, используемые при определенных обстоятельствах. Программа, написанная на каком либо языке программирования для взаимодействия клиента с сервером. Например: Script на Perl для подсчета количества… … Справочник технического переводчика
скрипт — Скрипт: посвідка, рукопис [46 1] розписка, вексель [47] рукопис [49;50,IV,VI,XX] Та про се прошу Вас не забувати 1) про дальший скрипт Клоустона, 2) про дальший скрипт Фірдоусі [XX] рукопис, письмо, посвідка, зобов язання [44 1] рукопис, текст… … Толковый украинский словарь
скрипт — шкрыпт (скрипт), шкрипт рукопис, писання … Зведений словник застарілих та маловживаних слів
скрипт — (лк) scrībere писать; scrīptio писание скрипторий ист. помещение в монастыре, где переписывались книги манускрипт рукопись постскриптум «после написанного», добавление к письму транскрипция «переписывание», передача на письме звучания слов, а… … Анатомия терминов. 400 словообразовательных элементов из латыни и греческого
dic.academic.ru
Скриптованная речь при аутизме
Всем привет, меня зовут Амитист. Добро пожаловать на мой канал «Спроси у аутиста»!
Что такое скриптованная речь?
Мне часто задают этот вопрос о скриптовании, и я с радостью готова на него ответить. Но сначала я должна прояснить один момент. Я буду говорить о двух похожих, но все же разных по своей сути видах поведения. О каждом из них говорят как о «скриптованной речи», поэтому я опишу оба вида скриптования.
Первый вид — это то, что я называю эхолалическое скриптование, а второй — это социальное скриптование. Два вида поведения, которые присущи людям с аутизмом, но всего одно слово — для них обоих.
Что такое эхолалическое скриптование?
Этот вид скриптованной речи хорошо известен родителям детей с аутизмом. Его иногда называют «копирование телевизора». Эхолалическое скриптование похоже на простую эхолалию, но обычная эхолалия — это повторение 1-2 слов или фразы, а эхолалическое скриптование — это, скорее, цитирование целых предложений из книг, фильмов, песен и других источников речи.
Эхолалическое скриптование часто понимают неправильно. Многие родители-нейротипики не любят его, поскольку оно напоминает стимы, и о нем можно четко сказать, как об аутичном поведении.
Мне также кажется, что его не понимают и еще в одном аспекте: многие люди-нейротипики считают, что, когда дети или взрослые с аутизмом используют эхолалию, они не вступают в контакт и, что называется, «находятся в собственном замкнутом мирке».
В том, что касается меня и тех детей и взрослых с аутизмом, которых я знаю, это совсем не так!
Конечно, эхолалическое скриптование, как и стимы, часто используется для развлечения — просто потому, что оно интересно само по себе. Но его можно использовать и как способ выражать себя, если и не добиваясь полноценного социального взаимодействия, то хотя бы вступая в контакт с другими людьми. «Я нахожусь вместе с вами, и я хочу об этом заявить».
Например, представим ситуацию, когда ребенок с аутизмом, сидит за обеденным столом вместе с семьей, и члены семьи обсуждают что произошло с ними в течение дня, высказывают мнения относительно фильма, или телепередачи или чего-то еще, а ребенок-аутист вмешивается в разговор, и повторяет строчки из фильма. Члены семьи могут испытывать раздражение или считать, что ребенок не обращает внимания на то, что происходит вокруг. Но на самом деле ребенок пытается вступить в контакт — прямо сейчас!
Почему люди с аутизмом используют эхолалическое скриптование?
Дело в том, что этот вид скриптованной речи кажется людям с аутизмом веселым и забавным. Лично я, когда у меня хорошее настроение, люблю цитировать диалоги из мультфильма «Лило и Ститч».
Этот вид скриптования также можно использовать для выражения себя и даже для коммуникации. Но этот способ общения часто не замечается или не понимается нейротипиками.
Я обнаружила, что в эмоционально окрашенных ситуациях, я часто повторяю диалоги или цитаты из фильмов и книг, которые, как мне кажется, могут иметь отношение к моим текущим потребностям или чувствам. Хотя в этот момент я не могу превратить свои мысли в собственную спонтанную речь, я могу выразить себя через знакомые и от этого приятные строки из фильмов и книг.
Когда я близка к эмоциональной перегрузке, я считаю, что я действительно общаюсь. То, что я говорю, что повторяю — все это имеет отношение к моему состоянию, просто мои слова нельзя истолковать буквально, а надо понимать, как они преломляются в конкретной ситуации.
Таким образом, эхолалическое скриптование — это не только удовольствие, но и потенциальная форма коммуникации и выражения себя.
Анализируйте поведение своего ребенка и пытайтесь понять, в каких ситуациях он говорит одну цитату, а в каких — другую. Также отмечайте, когда ваш ребенок использует больше эхолалического скриптования — это поможет вам узнать, в каких ситуациях он счастлив и приятно взволнован.
Повторюсь и скажу, что часто эхолалическое скриптование — это способ развлечения. Это весело, это занятно, у детей с аутизмом есть собственные любимые скрипты, они получают от этого удовольствие, и это хорошо для их развития.
Кроме того, эхолалическое скриптование — это возможность выразить себя и заявить о своих потребностях, несмотря на то, что такая форма самовыражения на первый взгляд кажется трудной для расшифровки или не ощущается «нормальной»».
Что такое социальное скриптование?
Второй вид скриптования я называю «социальным». Я думаю, что он чаще встречается у подростков и взрослых, но и дети-аутисты также используют эти скрипты с самого раннего возраста.
В моем случае — это то, с помощью чего я узнала, как правильно использовать речь.
С раннего детства я говорила, используя фразы из диснеевских мультфильмов, и по мере развития, использовала все более длинные скрипты.
Затем, когда мне было примерно 3-4 года, мои потребности стали шире, чем тот набор фраз, который был в моем распоряжении. Я стала собирать вместе фразы из фильмов, подслушанные диалоги взрослых и все, что говорили люди вокруг меня.
В процессе такой нарезки новых предложений и последующей склейки отдельных слов из них, я стала говорить тем набором слов, который нейротипичные люди называют «собственной спонтанной речью».
Из-за того, что такая речь может быть статичной и одинаковой для разных периодов времени, нейротипичные люди часто считают ее неискренней или даже грубой. Хочу внести ясность: если люди с аутизмом приветствуют вас одной и той же фразой каждой утро, это не значит, что они вас не любят!
Нам пришлось бы потратить уйму нервной энергии, чтобы каждое утро придумывать все новые фразы и предложения для эквивалента слова «здрасьте». Гораздо проще использовать уже готовый социальный скрипт, который мы выучили наизусть, и который нам очень нравится.
Сам тот факт, что мы вообще с вами общаемся, делаем усилие, чтобы использовать речь, чтобы вступить в социальные отношения, нельзя игнорировать и недооценивать.
Нейротипичные люди тоже используют социальные скрипты. Например, кто-то проходит мимо вас по общему коридору или на улице. Происходит диалог:
— Привет, как дела!
— Нормально, спасибо! А как твои дела?
Эти и другие подобные фразы накрепко впечатались в память, и нейротипичные люди используют их автоматически, потому что это социально приемлемый вопрос и ответ.
Людям с аутизмом сложно достичь высокой степени автоматизма. Одиночные социальные скрипты и шаблонные диалоги помогают нам своей предсказуемостью. Если мы знаем, чего ожидать, мы чувствуем себя в безопасности. Так мы уверены в том, что сможем найти верные слова в нашем запасе выученных наизусть скриптов, и знаем, какое именно предложение нужно использовать.
Нужно ли отучать моего ребенка от использования социальных скриптов?
Мне кажется, что родители слишком усердствуют в своих попытках научить своего ребенка с аутизмом говорить «собственной речью» и не использовать социальных скриптов.
Многие аутисты, когда чувствуют себя спокойно и расслабленно рядом с каким-то человеком (достижение этого состояния, скажу честно, может потребовать многих месяцев и даже лет!), начнут общаться естественным для себя образом.
Это естественное общение может включать в себя очень широкий спектр способов коммуникации — от стимов до эхолалического скриптования, которое даст возможность разделить вместе приятные переживания.
И, наконец, это может быть собственная речь, однако велики шансы, что «собственная речь» людей с аутизмом не будет звучать как «собственная речь» нейротипичных людей. Факт состоит в том, что мозг людей с аутизмом работает по-другому.
Вам, как родителю, нужно решить: хотите ли вы, чтобы ваш ребенок с аутизмом говорил то, что приемлемо в обществе, или же вы хотите, чтобы он мог выразить себя.
Высоки шансы, что если ребенок-аутист выберет самовыражение, он будет приветствовать людей рассказами о жизни голубых китов или отвечать на вопросы словами «как тебя зовут» с веселым губным гудением и взмахами руками.
Или же у него может быть целый банк социальных скриптов, который можно использовать, и, когда у него будут спрашивать, как тебя зовут, он будет называть свое имя и спрашивать имя собеседника.
Это не черно-белая картинка, не ситуация «или-или».
- Случаются времена, когда я бываю полностью собой, и я выражаю себя так, как мне приятно, и как мне кажется естественным. И такой способ самовыражения включает обилие эхолалического скриптования.
- Есть времена, когда я нахожусь на публике или с людьми, которых я не знаю, и тогда я использую социальное скриптование.
- И есть времена, когда я использую и то, и другое.
Для записи этих роликов я использую социальное скриптование: я нарезаю уже знакомые предложения на отдельные слова и фразы и склеиваю из них новые предложения.
Мне помогает то, что я много читала, слышала и видела. Но, если вы ожидаете от своего ребенка с аутизмом, что он однажды «перерастет» свой тип психики и сможет спонтанно и с легкостью общаться с любым другим представителем человеческой расы – такого, скорее всего, не произойдет.
Социальные скрипты очень важны для людей с аутизмом, они помогают нам чувствовать себя достаточно уверенно, расслабленно и безопасно, чтобы вступать в социальные отношения. Заберите у нас социальное скриптование, и мы останемся без речи (!)
А эхолалическое скриптование – это просто замечательно и весело! И это важная часть развития ребенка с аутизмом.
Вот что я скажу: пожалуйста, не запрещайте социальное скриптование. Не запрещайте эхолалическое скриптование.
Да, это может показаться раздражающим, одни и те же фразы или слова, или реплики.
Но я хочу сказать вам: вы – родители, и какой ребенок не донимает своих родителей?! И, знаете, если ваш ребенок сидит рядом с вами и использует эхолалическое скриптование, не важно, приглашает ли он вас принять в нем участие или нет, он взаимодействует с вами, он выражает себя, он делится чем-то, что он по-настоящему любит и ценит. Именно так, было со мной, когда я была еще малышом.
Заключение
Это видео – всего лишь краткий обзор двух видов скриптования — эхолалического и социального. В будущем я подготовлю новые выпуски, которые глубже расскажут о каждом из этих видов скриптованной речи.
Если вы хотите, чтобы я рассказала о каком-то аспекте жизни людей с аутизмом, или хотите обсудить какую-то тему, пишите свои вопросы в комментариях.
Буду рада, если вы поставите мне лайк и подпишитесь на мой канал. Спасибо за внимание!
Транскрипт выпуска с канала «Ask an Autistic».
www.corhelp.ru
Скриптованная речь при аутизме — ОО «БелАПДИиМИ»
Сегодня все больше и больше говорят и пишут о теме аутизм и видах поведения, которые присущи людям с аутизмом. Поэтому все чаще в статьях и публикациях встречается термин «скриптованная речь» или «скриптование». Что такое скриптование и почему его используют люди с аутизмом в заметке от Ассоциации Комплексной Коррекционной Помощи.
Существует два разных по своей сути вида поведения. О каждом из них говорят как о «скриптованной речи». Первый вид — это эхолалическое скриптование, а второй — это социальное скриптование. Два вида поведения, которые присущи людям с аутизмом, но всего одно слово — для них обоих.
Что такое эхолалическое скриптование?
Этот вид скриптованной речи хорошо известен родителям детей с аутизмом. Его иногда называют «копирование телевизора». Эхолалическое скриптование похоже на простую эхолалию, но обычная эхолалия — это повторение 1-2 слов или фразы, а эхолалическое скриптование — это, скорее, цитирование целых предложений из книг, фильмов, песен и других источников речи.
Эхолалическое скриптование часто понимают неправильно. Многие родители-нейротипики не любят его, поскольку оно напоминает стимы, и о нем можно четко сказать, как об аутичном поведении. Многие люди-нейротипики считают, что, когда дети или взрослые с аутизмом используют эхолалию, они не вступают в контакт и, что называется, «находятся в собственном замкнутом мирке».
Но все не совсем так! Конечно, эхолалическое скриптование, как и стимы, часто используется для развлечения — просто потому, что оно интересно само по себе. Но его можно использовать и как способ выражать себя, если и не добиваясь полноценного социального взаимодействия, то хотя бы вступая в контакт с другими людьми. «Я нахожусь вместе с вами, и я хочу об этом заявить».
Почему люди с аутизмом используют эхолалическое скриптование?
Дело в том, что эхолалическое скриптование — это способ развлечения. Это весело, это занятно, у детей с аутизмом есть собственные любимые скрипты, они получают от этого удовольствие, и это хорошо для их развития.
Кроме того, эхолалическое скриптование — это возможность выразить себя и заявить о своих потребностях, несмотря на то, что такая форма самовыражения на первый взгляд кажется трудной для расшифровки или не ощущается «нормальной»».
Что такое социальное скриптование?
Второй вид скриптования — социальное . Чаще всего встречается у подростков и взрослых, но и дети-аутисты также используют эти скрипты с самого раннего возраста.
Это то, с помощью чего человек узнает, как правильно использовать речь.
К примеру, человек с аутизмом собирает вместе фразы из фильмов, подслушанные диалоги взрослых и все, что говорили люди вокруг. В процессе такой нарезки новых предложений и последующей склейки отдельных слов из них, он говорит тем набором слов, который нейротипичные люди называют «собственной спонтанной речью».
Из-за того, что такая речь может быть статичной и одинаковой для разных периодов времени, нейротипичные люди часто считают ее неискренней или даже грубой. Если люди с аутизмом приветствуют вас одной и той же фразой каждой утро, это не значит, что они вас не любят!
Нам пришлось бы потратить уйму нервной энергии, чтобы каждое утро придумывать все новые фразы и предложения для эквивалента слова «здрасьте». Гораздо проще использовать уже готовый социальный скрипт, который мы выучили наизусть, и который нам очень нравится.
Сам тот факт, что мы вообще с вами общаемся, делаем усилие, чтобы использовать речь, чтобы вступить в социальные отношения, нельзя игнорировать и недооценивать.
Нейротипичные люди тоже используют социальные скрипты. Например, кто-то проходит мимо вас по общему коридору или на улице. Происходит диалог:
— Привет, как дела!
— Нормально, спасибо! А как твои дела?
Эти и другие подобные фразы накрепко впечатались в память, и нейротипичные люди используют их автоматически, потому что это социально приемлемый вопрос и ответ.
Людям с аутизмом сложно достичь высокой степени автоматизма. Одиночные социальные скрипты и шаблонные диалоги помогают нам своей предсказуемостью. Если мы знаем, чего ожидать, мы чувствуем себя в безопасности. Так мы уверены в том, что сможем найти верные слова в нашем запасе выученных наизусть скриптов, и знаем, какое именно предложение нужно использовать.
Нужно ли отучать моего ребенка от использования социальных скриптов?
Иногда родители слишком усердствуют в своих попытках научить своего ребенка с аутизмом говорить «собственной речью» и не использовать социальных скриптов.
Многие люди с аутизмом, когда чувствуют себя спокойно и расслабленно рядом с каким-то человеком (достижение этого состояния, скажу честно, может потребовать многих месяцев и даже лет!), начнут общаться естественным для себя образом.
Это естественное общение может включать в себя очень широкий спектр способов коммуникации — от стимов до эхолалического скриптования, которое даст возможность разделить вместе приятные переживания.
И, наконец, это может быть собственная речь, однако велики шансы, что «собственная речь» людей с аутизмом не будет звучать как «собственная речь» нейротипичных людей. Факт состоит в том, что мозг людей с аутизмом работает по-другому.
Вам, как родителю, нужно решить: хотите ли вы, чтобы ваш ребенок с аутизмом говорил то, что приемлемо в обществе, или же вы хотите, чтобы он мог выразить себя.
Высоки шансы, что если ребенок-аутист выберет самовыражение, он будет приветствовать людей рассказами о жизни голубых китов или отвечать на вопросы словами «как тебя зовут» с веселым губным гудением и взмахами руками.
Или же у него может быть целый банк социальных скриптов, который можно использовать, и, когда у него будут спрашивать, как тебя зовут, он будет называть свое имя и спрашивать имя собеседника.
Не запрещайте социальное скриптование. Не запрещайте эхолалическое скриптование.
Да, это может показаться раздражающим, одни и те же фразы или слова, или реплики.
Вы – родители, и какой ребенок не донимает своих родителей?! Если ваш ребенок сидит рядом с вами и использует эхолалическое скриптование, не важно, приглашает ли он вас принять в нем участие или нет, он взаимодействует с вами, он выражает себя, он делится чем-то, что он по-настоящему любит и ценит.
Оригинальную статью о скриптовании ищите здесь.
belapdi.org
Shell-скриптинг — Xgu.ru
Материал из Xgu.ru
(Перенаправлено с shell-скриптинг)Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).
Действия, которые пользователь выполняется в оболочке, можно записать в файл, а потом выполнять их как единое целое. Такой файл называется сценарием или скриптом командного интепретатора (shell script). В самом простейшем случае скрипты создаются для того, чтобы сохранить некоторую повторяющуюся последовательность действий и в будущем вызывать её одной командой. Это простейшая, но далеко не единственная область применения скриптов. Вообще, скрипт — главный инструмент для автоматизации управления операционной системой.
...
Многие вещи можно сделать средствами самого интерпретатора, но, как правило, работа выполняется с помощью программ операционной системы, которые используются и как управляющие механизмы (например, для работы с файлами), и как расширители возможностей интерпретатора, например, такие как sed и awk, которые помогают манипулировать текстовыми потоками.
Стилистические и синтактические правила, которых рекомендуется придерживаться, при написании shell-скриптов (Bourne shell и bash):
[править] Вопросы и ответы
[править] Как сделать завершение скрипта при возникновении ошибки
По умолчанию скрипт не прерывается в случае возникновения ошибки при выполнении его команд.
Обрабатывать каждую ошибку вручную можно так:
команда || exit $?Это не очень удобно, потому что команд, завершившихся с ошибкой, может быть очень много.
Можно сделать, что он будет завершаться, как только код выполнения командной строки[1] будет отличен от нуля.
%$ set -eТеперь, например, при выполнении команды false скрипт будет завершаться. С другой стороны,
false || trueне приведёт к завершению, а
false ; trueприведёт.
Использование режима set -e обычно сопровождается назначением обработчика ошибки с помощью trap ERR. Обработчик вызывается перед тем как завершить интерпретатор при возникновении ошибки по set -e. Например, нам нужно удалить временные файлы перед завершением (условная функция cleanup_temp):
%$ trap cleanup_tmp ERRПодробнее об этих и других способах обработки ошибок:
[править] Как в скрипте (bash) обратиться к последнему аргументу?
${!#}
Если же эта конструкция не поддерживается, тогда нужно уже извращаться с eval, перебирать аргументы с помощью shift, одним словом, мудрить. Примеры вариантов решения: [1].
[править] Как узнать в каком каталоге находится текущий исполняемый скрипт?
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"Источник: [2]
[править] Как сделать чтобы команда убивалась по таймауту?
Можно поставить программу timeout, которая это делает.
$ apt-get install timeout $ timeout 10 sleep 20Если программы ставить не хочется, то можно использовать такой трюк:
( cmdpid=$BASHPID; (sleep 10; kill $cmdpid) & exec ping www.goooooogle.com )Источники: [3], [4]
[править] Если bash/другой шелл такой классный и мощный, так может всё на нём писать? Чего в нём не хватает?
[править] Дополнительная информация
- ↑ Здесь под командной строкой понимаются синтаксические конструкции, разделённые (;) или переводом строки
xgu.ru
работа с пространством и скриптование
Это вторая часть вопросов. Все вопросы можно найти здесь.
Работа с пространством(2a)На примере системы ИИ из игры Thief из прошлой серии вопросов (1f) расскажите, каким образом вы реализуете поведение стражников "поиск игрока" и пустите их разведывать территорию так, чтобы это выглядело праводоподобно? Как вы убедитесь, что это поведение не слишком сложное для игрока, что игрока нельзя найти, если он играет хорошо?
Можно составить карту влияния (influence map) по результатам работы сенсоров. Также можно ввести уровень пароноидальности ботов. А дальше все это надо долго и нудно настраивать в зависимости от того, чего хотят геймдизайнеры. Не встречала никаких статей по тулзам Thief'а, предполагаю, что они это все программили в обнимку с геймдизайнерами.Подробнее обсуждается тут.(2b)Ваша задача реализовать компьютерного игрока в стратегии реального времени (RTS). Допустим, туман войны не нужен. Как ваш компьютерный игрок будет определять какие части карты контролируются вражескими игроками, а какие можно исследовать? Как вы определите геостратегические регионы карты? Как вы найдете границу между частями карты под вашим контролем и частями под контролем врагов? Как вы определите готовящуюся атаку врага, изменение в уровне агрессии врага?
Опять influence map. Каждое здание "излучает" влияние. Сила влияния зависит от здания. Те места, где влияния нет, никому не принадлежат и их можно исследовать. Вражеские атаки тоже можно определить через влияния. Тут его будут "излучать" юниты врага.Геостратегические регионы (английский термин лучше и короче - choke points ) - мосты, ущелья и т.п. Можно напрячь дизайнеров уровней их помечать на карте. Если дизайнеры уровней сопротивляются или если эти точки можно создавать динамически, то можно пытаться карту анализировать как-то так: если между двумя смежными регионами A и B можно пройти только через R, то R - choke point.Подробное обсуждение тут.(2c)В вашей RTS игре компьютер время от времени посылает разведчиков разведывать территорию. Дизайнеры хотят, чтобы каждый разведчик двигался полуслучайно и обходил различные части карты, предпочитая те, которые были открыты недавно. Допустим, что игра использует сетку и что есть туман войны. Также допустим, что разведчики стоят дешево и их не жалко, их можно пускать на вражеские базы и в другие опасные места. Как вы реализуете систему, которая будет решать куда идти разведчику? Какие структуры данных вам понадобятся? Как вы поймете, что разведчики достаточно хорошо исследуют карту? Дайте оценку по производительности вашего решения. Есть ли риск того, что разведчик будет пытаться добраться до недоступного места и застрянет?
Скриптование
Ответы на большинство вопросов по скриптованию можно найти тут: Дзэн-3, скрипт(2d)Как связаны скриптование и ИИ? Когда следует контролировать ИИ с помощью скриптов? Когда дизайнеры используют ИИ для контроля над ИИ-агентами, на каком уровне скрипт должен взаимодействовать с ИИ?(2e)Расскажите о нескольких системах скриптования, которые вы использовали в работе, или которые видели в других играх. Расскажите о достоинствах и недостатках тех или иных подходов к скриптованию.
(2f)Каковы достоинства и недостатки скриптования в целом? Когда скриптование использовать не надо?
(2g)Возьмите для примера любую игру и опишите лучший путь построения системы скриптования, которая даст дизайнерам возможность на каком-то уровне контролировать ИИ в игре. Также опишите идеальные инструменты для отладки описанной вами системы.
alenacpp.blogspot.com
10 секундное руководство по Bash Shell Scripting - Система
14.05.2008Прежде всего позвольте мне уточнить, что это не будет детальное изучение скриптов оболочки, это будет быстрое руководство по на синтаксису, используемого в скриптах bash. Итак, если вы ждете другого, то тогда вы должны купить себе хорошую книгу по написанию сценариев. ;-) Итак, давайте перейдем к руководству.
-- Начала 10 секундного руководства по Bash Shell Scripting --
Общие переменные окружения PATH - Устанавливает путь поиска для любой исполняемый командой. Аналогично переменной PATH в MSDOS. HOME - домашний каталог пользователя. MAIL - Содержит путь к месту хранения почты пользователя. IFS - Содержит строку символов, которые используются как разделители в командной строке. Строка, как правило, состоит из пробела, табуляции и символы новой строки. Чтобы увидеть их придется сделать восьмеричный дамп следующим образом:
$ echo $IFS | od -bc PS1 и PS2 - Основное и вторичное приглашение в bash. PS1 устанавливается $ по умолчанию и PS2 установлен в '>'. Чтобы увидеть вторичное, просто запустите команду: $ ls | ... и нажмите ввод.USER - имя пользователя для входа. TERM - обозначает тип терминала который используется. Должно быть настроены правильно для редакторов типа vi для правильной работы. SHELL - определяет тип оболочки, которую видит пользователь при входе в систему. Примечание: Чтобы узнать какие значения имеют проведенные выше переменные окружения, выполните команду echo c именем переменной начинающееся с $. Например:
$ echo $USER ravi ... получаем значение хранящееся в переменной USER.Некоторые bash shell scripting правила 1) В первой строке вашего скрипта должно быть
#!/bin/bash ... то есть сначала #, затем !, затем путь до оболочки. Эта линия позволяет узнать расположение файла оболочки.2) Перед выполнением скрипта, вы должны сделать скрипт исполняемым. Делается это следующей командой:
$ chmod ugo+x your_shell_script.sh 3) Обычно скрипт имеет расширение .sh. Это позволяет пользователю понять, что файл является скриптом.Условные выражения Выражение 'if':
if condition_is_true then execute commands else execute commands fi if также позволяет ветвления. То есть вы можете оценить несколько условий, если предыдущие условия отклонены. if condition_is_true then execute commands elif another_condition_is_true then execute commands else execute commands fi Пример: if grep "linuxhelp" thisfile.html then echo "Found the word in the file" else echo "Sorry no luck!" fi if дополняется - test Тест оценит выражение справа, и возвращает либо верно или неверно. Для этого используется следующие операторы:Операторы сравнения
-eq Равно -le Меньше или равно Тест файлов -f file True если file существует и является обычным файлом -r file True если file существует и доступен для чтения -w file True если file существует и доступен на запись -x file True если file существует и является исполняемым -d file True если file существует и является каталогом -s file True если файл существует и имеет размер больше чем ноль. Тестирование строк -n str True, если строка str не равна null -z str True, если строка str равна null str1 == str2 True если обе строки равны str1 != str2 True если строки не равны str True, если строке str присвоено значение и не равно null Тест также позволяет проверять более одного выражения в одной строке. -a Аналогично AND -o Аналогично OR Пример: test $d -eq 25 && echo $d ... что означает, если значение в переменной d равно 25, в выводим значение. Иначе ничего не выведется. test $s -lt 50 && do_somethingif [ $d -eq 25 ] then echo $d fi В вышеприведенном примере я использовал квадратные скобки, вместо ключевого слова test - это еще один способ сделать то же самое. if [$str1 == $str2 ] then do something fi if [ -n "$str1" -a -n "$str2" ] then echo 'Both $str1 and $str2 are not null' fi ... если обе строки не являются равными null затем выполняем команду echo. Несколько вещей, которые нужно помнить при использовании test. Если вы используете квадратные скобки [], вместо test, то необходимо вставить пробел после [ и перед ]. Примечание: test проверяет только целые значения. Дробные просто усекаются. Не используйте маски для тестирования равенства строки. Выражение case Case является вторым условным выражением поддерживаемым оболочкой. Синтаксис: case expression inpattern1) execute commands ;; pattern2) execute commands ;; ... esac Ключевыми словами здесь являются case и esac. ';;' используется в качестве окончания вариант. Также использует ')', чтобы отделить шаблон от действий. Пример: ... echo "Enter your option : " read i; case $i in 1) ls -l ;; 2) ps -aux ;; 3) date ;; 4) who ;; 5) exit esac Примечание: В последнем случае ;; не требуется, но если хотите, то можете их поставить. Вот еще один пример: case `date |cut -d" " -f1` in Mon) commands ;; Tue) commands ;; Wed) commands ;; ... esac Case также поддерживает в выражении более чем один шаблон в каждом варианте. Вы также можете использовать wild-cards для сопоставления шаблонов. ... echo "Do you wish to continue? (y/n)" read ans case $ans in Y|y ;; [Yy][Ee][Ss]) ;; N|n) exit ;; [Nn][Oo]) exit ;; *) echo "Invalid command" esac В приведенном случае, если вы введете Yes, YES, yEs и любую их комбинацию, то значение будет найдено.Циклы Цикл while Синтаксис:
while condition_is_true do execute commands done Пример: while [ $num -gt 100 ] do sleep 5 done while: do execute some commands done Выше код реализует бесконечный цикл. Вы также можете написать 'в то время как справедливо' вместо 'а:'. Здесь я хотел бы ввести два ключевых слова в связи с looping условные. Они перерыв и продолжить. Перерыв - Это ключевое слово вызывает контроль вырваться из петли. далее - Это ключевое слово будет приостанавливать исполнение всех заявлений после него и выключатели контроль верхней части петли для следующей итерации. Цикл until Цикл выполняется пока выражение не станет ложным. Синтаксис: until false do execute commands done Пример: ... until [ -r myfile ] do sleep 5 done Вышеуказанный код выполняется повторно до тех пор, пока файл myfile может быть прочитан. Цикл for Синтаксис: for variable in list do execute commands done Пример: ... for x in 1 2 3 4 5 do echo "The value of x is $x"; done Выводится пять чисел от 1 до 5. Вот еще один пример: for var in $PATH $MAIL $HOME do echo $var done Предположим, у вас есть каталог с файлами java и вы хотите скомпилировать их. Вы можете написать скрипт, например такой: ... for file in *.java do javac $file done Примечание: Вы можете использовать wild-card выражения в ваших скриптах. Несколько специальных символов используемых в BASH shell скриптах $* - Это означает, что все параметры передаются в скрипт на момент его исполнения. Что включает в себя $1, $2 и так далее. $0 - Имя выполняемого скрипта. $# - Количество аргументов, указанных в командной строке. $? - Выходной статус последней команды. Выше приведенные символы известны, как позиционные параметры (positional parameters). Позвольте мне объяснить позиционные параметры с помощью примера. Предположим у меня есть скрипт с названием my_script.sh. Теперь выполним этот скрипт в командной строке следующее: $ ./my_script.sh linux is arobust OS ... как вы можете видеть выше, я указал 5 параметров скрипта. В соответствии с этим сценарием, значения позиционных параметров состоят в следующем: $* - будет содержать значения 'linux','is','a','robust','OS'. $0 - будет содержать значение my_script.sh - имя скрипта во время исполнения. $# - содержит значения 5 - общее количество параметров. $$ - содержит ID процесса текущей оболочки. Вы можете использовать этот параметр для уникальных имен каких-либо временных файлов, которые вы создаете во время исполнения. $1 - содержит значения 'linux' $2 - содержит значение 'is'... и так далее. Операторы set и shift set - позволяет связать значения с позиционными параметрами. Например, попробуйте следующее:
$ set `date` $ echo $1 $ echo $* $ echo $# $ echo $2 shift Пример: $ set `date` $ echo $1 $2 $3 $ shift $ echo $1 $2 $3 $ shift $ echo $1 $2 $3 Чтобы узнать ID процесса текущего оболочки, попробуйте следующее: $ echo $$ 2667 Для проверки, что это одно и то же значение, выполните следующие команды: $ ps -f |grep bash Оператор read Сделайте ваш скрипт интерактивным. read позволит пользователю ввести значения, пока скрипт выполняется. Когда программа ждет ввода, она останавливается. Введенный через клавиатуру id считывается, и выполнение программы продолжается. Например: #!/bin/sh echo "Enter your name : " read name echo "Hello $name , Have a nice day." Выходной статус последней командыКаждая команда возвращает значения после выполнения. Эта величина называется статус выхода или возвращаемое значение команды. Команда сообщает true, если выполняется успешно, и false, если нет. Это может быть проверено в скрипте, используя $?. -- Конец 10 секундного руководства по Bash Shell Scripting --
Источник: 10 Seconds Guide to Bash Shell Scripting.
Статьи по теме:Выбор диапазона IP адресов используя egrep - bash
nsk.lug.ru