Как создать сценарий программы

Если вы хотите добиться успеха в киноиндустрии, вам нужно использовать подходящее программное обеспечение для форматирования сценария. Это касается как рассказчиков-любителей, так и профессиональных сценаристов.

Однако программное обеспечение для написания сценариев стоит недешево. И вы не хотите тратить деньги на покупку неправильного приложения.

Чтобы помочь вам, мы нашли лучшие приложения для написания сценариев для Windows и Mac. Любой из них будет отличным выбором для начала вашего следующего проекта сценария.

1. Final Draft : Стандартное Программное Обеспечение

Final Draft — это стандартное программное обеспечение для написания сценариев. Его используют 95% фильмов и телепрограмм, включая BBC, Netflix, Hulu и Disney. Если вы профессиональный сценарист, большинство людей ожидают, что вы воспользуетесь Final Draft.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Но это ожидание толкает цену вверх; Final Draft — одно из самых дорогих приложений для создания сценариев в этом списке. Но он предлагает эту цену с рядом впечатляющих функций.

Как написать сценарий фильма в программе Кит Сценарист

Выбирайте из более чем 300 шаблонов, включая сценарии, телепередачи, комиксы, театральные постановки и многое другое. Используйте виртуальные мозговые штурмы, чтобы придумать свою историю. Затем запишите слова на странице с помощью инновационных функций SmartType, Speech to Script и Alternate Dialogue в Final Draft.

Независимо от того, являетесь ли вы режиссером или просто интересуетесь кинопроизводством, эти каналы YouTube помогут вам с анализом фильмов.

Скачать: Windows | macOS (249,99 долларов США, доступна бесплатная пробная версия)

2. Movie Magic Screenwriter: Final Draft

Используйте это отмеченное наградами программное обеспечение, чтобы написать сценарий, спектакль, телеспектакль, мюзикл, комикс или роман. Он прост в использовании и предлагает инструменты для мозгового штурма и набросков, а также более 100 шаблонов, которые помогут вам начать писать как можно скорее.

Синтез речи позволяет вам слышать свой сценарий, прочитанный вслух. Автоматическое резервное копирование означает, что вам не нужно беспокоиться о потере своей работы. IPartner позволяет вам сотрудничать со своим писательским партнером онлайн, независимо от того, как далеко вы друг от друга.

Movie Magic Screenwriter предлагает все, что вам нужно, от идеи сюжета до спецификации и сценария съемки. Если вам по какой-либо причине не нравится Final Draft, это очень уважаемая альтернатива.

Скачать: Movie Magic Screenwriter для Windows | macOS (249,95 долларов США, доступна бесплатная пробная версия)

3. WriterDuet : Совместное Создание Сценария На Основе Облака

WriterDuet создан для совместной работы. Наслаждайтесь совместным письмом в реальном времени, интуитивно понятным комментированием, а также текстовыми и видеочатами в приложении, работая с партнером удаленно.

КАК НАПИСАТЬ СЦЕНАРИЙ? [ЛАЙФХАКИ РЕЖИССЁРА]

В качестве облачного программного обеспечения для написания сценариев вы можете получить доступ к своим проектам WriterDuet в любом месте с подключением к Интернету, на настольном компьютере или мобильном устройстве. Используйте его для всего, от набросков до переписывания, с такими полезными инструментами, как карты сцен, теги и легкое форматирование.

WriterDuet использует модель ценообразования на основе подписки с дополнительными функциями, доступными на более высоких уровнях. Но вы также можете начать с написания ваших первых трех скриптов бесплатно или зарегистрируйтесь в WriterSolo , не облачном двоюродном брате WriterDuet.

Посетите веб-сайт WriterDuet для получения премиальной подписки от 7,99 долларов в месяц.

4. Fade In : Кроссплатформенность и доступность

Несмотря на длинное официальное название, Fade In Professional Screenwriting Software — это оптимизированное приложение, которое по-прежнему предлагает все функции, которые могут понадобиться профессиональному писателю.

Используйте его, чтобы написать что угодно, от фильма до радиоспектакля или даже видеоигры. Благодаря функции автозаполнения Fade In листать страницы легко. А когда дело доходит до переписывания, Dialogue Tuner позволяет просматривать все диалоги одного персонажа в одном месте, позволяя вам довести его до совершенства.

Fade In предоставляет вам эти профессиональные инструменты по гораздо более низкой цене, чем Final Draft или Movie Magic Screenwriter, и даже включает бесплатные обновления. Он также доступен для Windows, macOS, Linux, Android, iOS и iPadOS.

Скачать: Профессиональная программа для создания сценариев Fade In для Windows | macOS (79,95 долларов США, доступна бесплатная пробная версия)

5. Celtx : Полный набор

С Celtx вы можете выполнить сценарий на всем протяжении от подготовки к съемкам. Используйте этот предварительный набор, чтобы превратить историю в учетные карточки, написать сценарий, создать отчеты о поломке, составить списки кадров и распечатать сценарий съемки.

Celtx отражает стандартные отраслевые форматы на протяжении всего процесса. Вы даже можете сотрудничать со своей командой, работая одновременно над несколькими документами или редактируя сценарий вместе в режиме реального времени.

Поскольку Celtx — еще одно облачное приложение, оно доступно в любом месте на любом устройстве. Вам даже не нужно беспокоиться о потере документов, так как Celtx автоматически делает за вас безопасные резервные копии.

Начните работу с Celtx бесплатно или подпишитесь на премиум-подписку, чтобы разблокировать больше функций и неограниченное количество проектов.

Посетите веб-сайт Celtx для получения премиальной подписки «Написание сценариев» от 15 долларов в месяц.

6. Highland : Бесплатно пишите сценарии на Mac

Хайленд был разработан Джоном Августом, сценаристом «Чарли и шоколадная фабрика», «Большая рыба» и «Аладдин». Он также является соведущим подкаста о сценариях Scriptnotes. И вы можете использовать Highland для работы над чем угодно — от сценария до романа или даже школьной газеты.

В отличие от других приложений для написания сценариев — которые используют клавиши Tab и Return для переключения между именами персонажей, диалогами и линиями действий — Highland распознает, что вы пытаетесь ввести, и автоматически форматирует ваш текст.

Используйте боковую панель навигатора, чтобы сразу просмотреть сценарий, переходя к тому разделу, над которым вам нужно работать дальше. Затем включите режим редактирования, чтобы отслеживать изменения в диапазоне разных цветов.

Highland доступен только для macOS, но вы можете загрузить его и начать писать профессиональные сценарии бесплатно, с премиум-обновлением, доступным для дополнительных функций.

Скачать: Highland для macOS (доступна бесплатная, премиум-версия)

7. Trelby : Бесплатно пишите сценарии для Windows

Trelby — это быстрое, простое и чистое программное обеспечение для написания сценариев, способное форматировать профессиональные сценарии. Лучше всего то, что это совершенно бесплатно и работает как на Windows, так и на Linux. К сожалению, Trelby недоступен для Mac.

Выбирайте между черновым режимом или режимом «Что видишь, то и получаешь» (WYSIWYG), поскольку для завершения сценария вы используете автозаполнение, проверку орфографии и интеллектуальное форматирование.

Если вы изо всех сил пытаетесь придумать имена персонажей, вы можете получить доступ к базе данных Trelby, содержащей более 200 000 имен со всего мира, чтобы найти вдохновение.

А после того, как вы закончите свой первый черновик, используйте отчеты о сценах, локациях, персонажах и диалогах, чтобы сообщить о следующем переписывании. Вы даже можете сравнить версии скриптов, чтобы быстро увидеть все, что вы изменили.

Скачать: Trelby для Windows (бесплатно)

Каждое из вышеперечисленных приложений для написания сценариев позволяет легко написать сценарий в нужном формате. Но если вы не против немного поработать сами, вы можете написать сценарий в Microsoft Word, Apple Pages или Google Docs. Вам просто нужно сначала знать, как отформатировать сценарий.

Конечно, эти приложения не предлагают всех тех функций, которые вы получаете со стандартным программным обеспечением для написания сценариев, но это отличный способ начать работу, не тратя никаких денег.

Источник: okdk.ru

Как написать сценарий к электронному курсу

← Предыдущий урок
Это третий урок из цикла «Марафон: как создать онлайн-курс». Для полного погружения в тему, лучше начните с первого. Сценарий — техническое задание, детальное описание будущего курса: из каких разделов состоит, что происходит на каждом слайде, нужна ли анимация, тесты, тренажеры, видео. Без хорошо проработанного сценария режиссер не снимет фильм, а разработчик — не соберет курс.

Тех, кто этим шагом пренебрег, ждет череда «переделок» и «перекроек». И как итог: логические нестыковки, неэффективно потраченное время и однобокое отражение темы — такой курс бесполезен. Чтобы написать качественный сценарий, не обязательно родиться Хичкоком или окончить ВГИК. Главное — хорошо разбираться в теме будущего курса и следовать инструкции. Какой, расскажет эксперт в области eLearning и основатель студии по разработке электронных курсов New York Александр Виноградов.

Шаг 1. Определите тип курса

Александр Виноградов

Александр Виноградов,
основатель студии по разработке электронных курсов New York

Из первого урока вы помните, что электронные курсы делятся на три типа: информационные, тренинговые и мотивационные. Какой выбрать, зависит от целей. Сценарии разных типов отличаются ещё и по сложности: Легкий уровень: информационные курсы. Основная цель — проинформировать сотрудников и рассказать, как использовать полученные знания в работе.

Читайте также:
Как узнать какая программа установлена на моем компьютере

К примеру, познакомить с новым продуктом компании. Здесь может не быть героя и сюжета. Поэтому в сценарии достаточно описать, на каком слайде о чем рассказать: к примеру, на первом — об основных характеристиках продукта, на втором — о преимуществах перед конкурентами. Средний уровень: мотивационные курсы.

Основная цель — побудить сотрудников изменить подход к работе или отношение к чему-либо. Например, персонал не соблюдает правила пожарной безопасности на рабочем месте, и вам нужно мотивировать сотрудников. В таких курсах хорошо срабатывает персонаж — вовлекает в обучение. В материале про пожарную безопасность логично будет смотреться пожарный инструктор.

Он расскажет, к чему приводит пренебрежение правилами и как избежать ЧП. Также важно добавить побольше практических заданий. Сложный уровень: тренинговый курс. Основная цель — прокачать старый навык или развить новый. В курсе должна быть история. Здесь важно продумать сюжет, конфликт, место и время действия, главного героя и не только.

Ниже я расскажу, как писать сценарий к тренинговому курсу. Если вы возьмете эту высоту, то легко справитесь задачами попроще. Итоги шага: вы определили, какой тип курса поможет лучше всего решить поставленные задачи.

Шаг 2. Выберите элементы курса

  • сюжет;
  • главный герой;
  • действующие лица;
  • конфликт;
  • место и время действия;
  • предисловие и послесловие.

Профи из сферы дистанционного обучения называют это «элементами курса». Из них, как из деталей конструктора, легко собрать бодрый рассказ.

Определиться с элементами гораздо проще, если отталкиваться от целей и задач проекта.

Разберем элементы курса на примере электронного тренинга «Холодные звонки по горячему телефону» для менеджеров турагентства, который я разработал в iSpring Suite.

Курс Холодные звонки

Цель курса: менеджеры должны правильно делать холодные и теплые звонки, избавиться от страха неудачи.

Задача курса: научить основным приемам холодных и горячих звонков.

Целевая аудитория: специалисты офисов продаж туристических услуг, в основном — девушки 20-35 лет. Хорошо владеют ПК, значит, можно делать упражнения с любой механикой.

Технические данные: возможности послушать звук нет, значит, дикторскую начитку исключаем. Курс будут проходить с компьютера. Мощность ПК — выше средней. Интернет-канал — хороший. Значит, можно сделать сложную графику.

Психология в тренинговом курсе играет важную роль. Потому главный герой должен максимально копировать сотрудника компании, а описываемые ситуации — реальность, иначе курс станет забавной и бесполезной компьютерной игрушкой.

Какие элементы я выбрал:

Сюжет должен отражать реальные проблемы и ситуации, с которыми сталкивается обучающийся. В моем случае это стандартная история: менеджер должен позвонить клиенту и продать тур, но боится допустить ошибку.

Главный герой — наставник: он дает советы, помогает решить поставленные задачи. В моем случае это менеджер турагентства. Когда-то он тоже не умел звонить клиентам и боялся поднять трубку. Теперь легко заключает сделки по телефону и хочет поделиться опытом.

Главный герой — персонаж, с которым обучающийся должен себя ассоциировать. Потому они должны быть максимально схожи: пол, возраст, имидж, стиль одежды. Это сильнее вовлекает в курс.

Вы можете использовать как готового персонажа, так и создать его с нуля. Для этого не нужны дизайнеры или иллюстраторы. В iSpring Suite есть конструктор персонажей, в котором можно создать героя из готовых блоков.

Собрать его можно буквально за пару минут: выберите лицо, причёску, одежду и её цвет, а также аксессуары. Созданного персонажа можно сохранить в библиотеке и использовать в своих следующих курсах.

Хорошо проработанный герой помогает лучше запомнить, о чём рассказывалось в курсе — процент остаточных знаний увеличивается на 10-15%.

1

Действующие лица помогают моделировать реальные ситуации и вовлекать в обучение. Их количество в истории не ограничено — все зависит от целей курса и ваших возможностей.

В моем курсе всего одно действующее лицо — клиент.

Сценарий электронного курса

Через клиента я плавно погружаю в конфликт и разыгрываю типичный сценарий: менеджер боится позвонить и предложить тур, т.к. «не хочет никому ничего навязывать».

Конфликт — чаще всего это сложная задача, которую должен решить сотрудник. Преодолевая сложности, он приобретает новые навыки.

Конфликт в курсе «Холодные звонки по горячему телефону»: менеджер должен преодолеть страх звонка, позвонить клиенту и заключить сделку, следуя простым правилам.

Сценарий электронного курса

Место действия. Тема курса подскажет подходящую локацию. Если это курс по культуре производства, логично показать цех. Если по пожарной безопасности в офисе — коридоры компании или рабочий кабинет.

В моем курсе два места действия: квартира клиента и офис продаж турагентства.

При создании обстановки важно продумать детали, чтобы усилить реальность происходящего. В курсе клиент сидит за рабочим столом у компьютера — он хочет купить тур. И если именно сейчас не позвонит наш герой, то деньги достанутся конкуренту.

5

Время действия. В курсе будет день или ночь? Отталкивайтесь от графика работы обучающегося. В турагентстве менеджеры по продажам работают с 9.00 до 18.00.

Время действия не ограничивается лишь положением стрелок на часах. Вы можете перенести действие в эпоху Римской империи или трехтысячный год. Главное, чтобы это не нарушало логику курса и вовлекло в обучение.

Предисловие (введение). Расскажите здесь о целях курса. Сотрудник поймет, на что обращать внимание и какой от него ждут результат.

Стандартное «После изучения курса вы должны знать…» не подойдет. Вооружившись новыми знаниями, сотрудник должен лучше отжигать на передовой. На это и делайте фокус. Программируйте человека. Поэтому лучше написать: «вы познакомитесь», «вы научитесь».

сценарий электронного курса

Где расположить цели:

  • полная сводка целей должна быть в самом начале курса;
  • перед каждым разделом должны быть свои цели.

Послесловие (заключение). Это краткое резюме пройденного материала, чтобы все знания из курса улеглись у читателя в голове и он смог ими пользоваться в работе.

Главное в послесловии — не дублировать введение. Если введение — это непринужденное знакомство, то заключение — то, что должно запомниться на всю жизнь.

Сценарий электронного курса

Чаще всего послесловие я беру из материалов заказчика. К примеру, цитату американского эксперта по продажам Гранта Кардона я выписал из рабочей тетради для очного обучения менеджеров. Эта фраза сразу западает в память, резюмирует и закрепляет пройденный материал.

Итоги шага: вы придумали сюжет, главного героя, действующих лиц, проработали другие элементы курса. Пора писать концепт!

Шаг 3. Составьте концепт курса

Концепт — краткое описание идеи курса: о чем он, как это будет выглядеть, какие испытания ждут пользователя (тест, диалоговый тренажер), кто из персонажей даст обратную связь.

Продумайте в какой момент давать теорию и практику. Отталкиваться стоит от целевой аудитории. Если знания по теме нулевые — сперва теория, если люди в теме — практика.

Не забывайте и о сюжете. Я обычно использую классическую трехактную структуру повествования (сторителлинга):

  • погружение в конфликт;
  • развитие событий;
  • развязка.

Это сокращенный вариант цикла Колба — теории, которую используют при очных тренингах. Суть: сперва пользователю дают небольшое задание, и он его проваливает. Далее, по ходу истории, пользователь учится вместе с главным героем. В финале очередное испытание. На этот раз пользователь может получить пятерку, если хорошо усвоил материал.

Для меня концепт — это небольшой документ в Word, в котором я собираю воедино все элементы курса в виде небольшого рассказа.

16-2

Шаг 4. Составьте структуру

Структура — это порядок. Она помогает придать курсу форму. Без структуры курс — просто подборка слайдов, со структурой — образовательный продукт.

Первое, чему нужно научиться при создании структуры, — делить курс на модули. Модуль — это большой блок логически связанной информации, аналог раздела в книге.

Важно показать через модули внутреннюю логику курса, а если логики нет — создать ее.

Логика курса — это строгая последовательность выдаваемой информации. Одна тема следует за другой. Каждая новая тема должна основываться на предыдущей.

Курс «Холодные звонки по горячему телефону»

Нет логикиЕсть логика
Какие бывают скрипты звонков Модуль 1. Холодный звонок
Провокации в переговорах Модуль 2. Звонок сопровождение
Холодные и теплые звонки — отличия Модуль 3. Теплый звонок
Методы аргументации Модуль 4. Этапы теплого звонка
Способы работы с критикой Модуль 5. Тест

Модули нужны в любом курсе длиннее пяти слайдов, чтобы навести в нем порядок. Представьте, что модуль — это икеевская коробка. Сложил в нее вещи — уже ощущение порядка, а если еще внутри этой коробки навести порядок, то вообще хорошо.

Сценарий электронного курса

В моем курсе четыре «икеевских коробки»

Деление на модули — это первый этап в создании структуры. Дальше нужно раздробить каждый модуль на части.

Модуль — это мини-курс. Он делится на три части: введение, основная часть и заключение.

Введение в модуле — это главная мысль. Она напрямую соотносится с заголовком.
Сценарий электронного курса
Вместо главной мысли в начале можно обозначить цели модуля или познакомить пользователя с действующими лицами, чтобы плавно погрузить в историю.
сценарий электронного курса

Основная часть в модуле. После введения мы создаем произвольное количество слайдов с текстом, картинками, видео. Они раскрывают то, что заявлено вначале.

Если в модуле все правильно структурировано, в основной части будет только то, что хоть как-то упомянуто во введении. Если этого нет во введении, этого не будет в основной части.

Читайте также:
Как программа для создания сервера Майнкрафт

Заключение в модуле. Помимо краткого резюме и послесловия здесь также можно поставить небольшой тест или диалоговый тренажер для практики.

Тест Типы насосного оборудования

У каждого теста и диалогового тренажера должен быть свой мини-сценарий. Подробнее об этом — в следующих уроках. На этапе структуры курса важно лишь определить тип практического задания:

  1. Обучающее задание. Цель — пользователь должен закрепить изученный материал. Поэтому в настройках можно задать несколько попыток на правильный ответ, неограниченное время прохождения и низкий проходной балл.
  2. Проверяющее задание. Более жесткая проверка знаний: одна попытка на правильный ответ, ограниченное время и высокий проходной балл.

Практические задания можно поставить после каждого модуля курса, но контрольный тест — в самый конец.

сценарий электронного курса

Итоги шага: вы поделили тему на логические модули, в каждом модуле есть введение, основная часть и заключение.

Шаг 5. Напишите тексты и распределите по слайдам

Структура готова, пора приниматься за тексты. «Причесываем» материал, который собрали сами или получили от эксперта.

Чтобы написать сильный текст, следуйте пяти правилам:

  1. Будьте проще. «Под термином «скрипт звонка» следует понимать заранее продуманную или запрограммированную последовательность действий» — язык сломаешь. Старайтесь писать простые и понятные фразы, избегайте длинных слов. Так легче уловить суть: «Скрипт — это менеджерская инструкция по общению с клиентом. Он помогает грамотно ответить на вопросы, проработать возражения и привести клиента к нужному действию».
  2. Отожмите воду. Писать длинно и замысловато было модно в девятнадцатом веке. Сегодня темп сжат до предела, и на многоступенчатые повествования нет времени. Фокусируйтесь на важном.
  3. Думайте о пользе. Написав сценарий, поставьте себя на место обучающегося: «Интересно ли будет мне читать такой материал? А полезно?». Применяя принцип персонализации, мы получаем заинтересованных слушателей, жаждущих пройти курс. Если в курсе сложная навигация, давайте подсказки, помогайте разобраться с заданием.
  4. Делите текст на блоки. Один слайд — одна законченная мысль.
  5. Увлекайте. Люди лучше запоминают информацию, подкрепленную интересными фактами и цитатами.

Для подстраховки загрузите текст в «Главред». Этот сервис поможет найти штампы, обобщения и другой словесный «мусор». А также подскажет, как отредактировать текст, чтобы читатель легко усвоил информацию.

Готовый текст поставьте на нужный слайд в PowerPoint или создайте в Word таблицу в с тремя колонками. В первой — номер слайда, во второй — описание происходящего на слайде, в третьей — текст для пользователя.

Модуль№1Что происходит на слайдеТекст на слайде
Слайд №1 Вступление. На фоне размытого офисного кабинета появляется золотой кубок. После появляется текст вступления. Святой грааль продаж.
Если вы не позаботитесь о своих Клиентах, о них обязательно позаботится кто-то другой.
Слайд №2 Приветствие. Появляется главная героиня. Она начинает рассказывать о целях курса после того, как пользователь кликнет на экран. Добрый день! Меня зовут Ирина, и сегодня мы научимся эффективно совершать холодные звонки избавимся от страха поднять трубку и разберем самые важные моменты при разговоре с клиентом.

Для начала давайте разберем две ситуации с разным исходом.

Некоторые разработчики курсов вместо таблички вставляют текст в PowerPoint или рисуют скетчи от руки: добавляют черновые картинки, кнопки, иконки. Такой вариант уже выглядит не как текстовый сценарий, а скорее как раскадровка.

Сценарий электронного курса

Изначально некоторые слайды я оформлял так

Важно: обращайтесь к пользователю одинаково на протяжении всего курса. Если вы начали с неформального «Эгей, дружище! Как дела?! А не пора ли тебе поучиться?…», не нужно на следующем слайде говорить на «Вы».

Не забывайте о корпоративных стандартах: например, писать слово Клиент с большой буквы, не использовать антирекламу конкурентов, сленг и мемы.

Итоги шага: готов текст для каждого слайда. В тексте нет воды, канцеляризмов и другого словесного мусора.

Шаг 6. Проверьте сценарий на соответствие целям и задачам курса

К чему приводят курсы без цели и задач, подробно написано в первом уроке.

Проверьте, достаточно ли раскрыта тема или стоит добавить информации? Чему сотрудник научится? Сможет ли использовать знания уже завтра?

Пример: нужно обучить новобранца пяти ступеням продаж. В курсе много теории, разбитой на блоки: Вступление в контакт – Выявление потребностей – Презентация товара – Отработка возражений – Завершение сделки. Но нет ни одного кейса, не прописаны скрипты, практика далека от реальных ситуаций.

Чему научится человек? Пяти ступеням продаж! Сможет ли он использовать знания в работе? Нет. Задача выполнена, но цель не достигнута! Эффективность — ноль. Все потому, что у курса сбит прицел.

Ваш должен стрелять в десятку.

Теперь вы знаете, как написать сценарий для курса. В следующем уроке мы расскажем, как сверстать и задизайнить курс.

Если вам понравилась статья, дайте нам знать — нажмите кнопку Поделиться.

А если у вас есть идеи как можно улучшить текст — расскажите нам. Мы будем рады доработать материал!

Источник: www.ispring.ru

Как создать сценарий программы

Библиотека сайта rus-linux.net

date и использовать ее вывод в качестве части схемы именования файлов. Таким образом вы можете автоматизировать процесс создания резервных копий данных с добавлением к имени каждого скопированного файла текущей даты. При этом содержимое сценариев командной оболочки не должно ограничиваться вызовами команд. По своей сути эти сценарии являются полноценными программами.

По этой причине вы сможете использовать в процессе разработки сценариев такие классические синтаксические конструкции языков программирования, как циклы for , условные инструкции if/then/else и так далее, непосредственно на уровне интерфейса командной строки системы. И вам не придется изучать другой язык программирования, ведь вы уже используете известный вам интерфейс: командную строку.

На мой взгляд, именно в этом и заключается мощь интерфейса командной строки системы. Вам придется создавать программы на основе уже известных команд, а также синтаксических конструкций, используемых практически во всех языках программирования. Вам нужно выполнить какую-либо повторяющуюся и утомительную работу?

Вы можете просто создать сценарий командной оболочки для ее автоматического выполнения! Вам нужен ярлык для выполнения сложной команды? В этом случае вы также можете создать сценарий командной оболочки! Вы хотите создать простейший интерфейс командной строки для какой-либо программы? Просто создайте сценарий командной оболочки!

Перед тем, как начать работу

Перед тем, как мы начнем рассматривать вопросы разработки сценариев командной оболочки в рамках серии статей, следует определиться с некоторыми аспектами. Мы будем использовать командную оболочку Bash, которая по умолчанию используется практически во всех дистрибутивах Linux. При этом она также доступна и для пользователей Mac OS, и для пользователей Windows благодаря существованию набора библиотек Cygwin. Благодаря такой универсальности, вы сможете создавать сценарии командной оболочки вне зависимости от используемой программной платформы. В дополнение следует упомянуть о том, что сценарии будут запускаться без модификации или после минимальной модификации на всех упомянутых программных платформах при условии наличия всех используемых в них утилит в системе.

В рамках сценариев командной оболочки могут использоваться утилиты, требующие привилегий «администратора» или «суперпользователя», поэтому стоит тщательно тестировать каждый сценарий перед его вводом в эксплуатацию. Также в процессе разработки сценариев нужно руководствоваться здравым смыслом, к примеру, проверяя наличие резервных копий файлов, которые обрабатываются с помощью них. Очень важно использовать корректные параметры команд, например, параметр -i команды rm , принудительно активирующий интерактивный режим. Это позволит избежать некоторых неприятных ошибок. По этой же причине следует тщательно изучать загружаемые из сети сценарии и на всякий случай создавать резервные копии персональных данных.

По своей сути сценарии командной оболочки являются обычными текстовыми файлами. Вы можете использовать любой текстовый редактор для их редактирования: gedit, emacs, vim, nano… И этот список можно продолжить. Следует просто убедиться в том, что выбранный текстовый редактор может сохранять код сценариев в обычных текстовых файлах, а не файлах со специальной разметкой или файлах, используемых одним из офисных пакетов. Так как мне нравится простота текстового редактора nano, я буду использовать его.

Имена и права доступа к файлам сценариев

Сценарии командной оболочки исполняются так же, как и обычные программы, следовательно, для получения возможности их исполнения необходимы корректные права доступа. Вы можете сделать сценарий исполняемым, выполнив следующую команду:

chmod +x ~/somecrazyfolder/script1

Эта команда позволит любому пользователю исполнять сценарий с заданным именем. Если вы хотите, чтобы данный сценарий могли исполнять лишь вы, вам придется использовать данную команду вместо приведенной выше:

chmod u+x ~/somecrazyfolder/script1

Для того, чтобы инициировать исполнение сценария, вам придется перейти в директорию с ним с помощью команды cd и запустить его:

cd ~/somecrazyfolder ./script1

Для упрощения процесса разработки сценариев командной оболочки вы можете просто размещать все свои сценарии в директории bin , расположенной в вашей домашней директории:

В большинстве современных дистрибутивов данная директория не создается автоматически, но вы всегда можете создать ее вручную. Эта директория предназначена для хранения исполняемых файлов, принадлежащих одному пользователю и недоступных для всех других пользователей. После размещения в ней своих сценариев вы сможете исполнять их, просто вводя их имена, как в случае системных команд, без необходимости перехода в определенную директорию и использования префикса «./» .

Перед вводом имени сценария вы должны выполнить следующую команду для того, чтобы убедиться в отсутствии в системе программы с таким же именем:

Читайте также:
Провайдер это программа подключения к сети

which [имя_сценария]

Многие начинающие разработчики сценариев командной оболочки создают файлы сценариев с такими именами, как «test» , после чего пытаются запустить их из эмулятора терминала и не получают какого-либо вывода. Это происходит по причине наличия конфликта между именем файла сценария и именем системной команды test , которая не выполняет каких-либо действий при отсутствии аргументов. Всегда проверяйте, не конфликтует ли имя вашего сценария с именем одной из существующих команд, ведь в этом случае вы можете потратить достаточно времени на решение проблемы, которую достаточно просто избежать!

Правила разработки сценариев командной оболочки

Правила разработки сценариев командной оболочки

Как я упоминал ранее, каждый файл сценария командной оболочки по своей сути является текстовым файлом. Но это, разумеется, не значит, что вы можете писать в нем все, что угодно. При попытке исполнения этого текстового файла командные оболочки осуществляют разбор его содержимого для установления того, является ли этот файл файлом сценария командной оболочки, а также выбора методики его корректной обработки. По этой причине вам придется запомнить несколько простых правил разработки сценариев командной оболочки.

  1. Каждый сценарий должен начинаться со строки «#!/bin/bash»
  2. Каждая новая строка сценария должна содержать новую команду
  3. Строки комментариев должны начинаться с символа #
  4. Команды для подстановки должны помещаться в круглые скобки ()

При разборе содержимого текстового файла основным идентификатором сценария является его первая строка:

#!/bin/bash

Если вы используете другую командную оболочку, вы можете подставить путь к ее исполняемому файлу в данную директиву. Строки комментариев всегда начинаются с символов решетки ( # ), но в случае наличия после первого символа решетки символа восклицательного знака ( ! ) и пути к исполняемому файлу командной оболочки имеет место исключение из данного правила, позволяющее исполнить сценарий с помощью командной оболочки, путь к исполняемому файлу которой задан.

Новая строка = новая команда

Каждая новая строка сценария должна рассматриваться как новая команда или компонент более сложной синтаксической конструкции. Инструкции if/then/else , к примеру, могут занимать по нескольку строк, но каждый из их элементов все равно будет расположен на новой строке. Вы не должны переносить команды на новые строки, так как это приведет к сокращению первой строки и выводу сообщения об ошибке после попытки исполнения второй. Если ваш текстовый редактор самостоятельно выполняет эту операцию, вы на всякий случай должны отключить функцию автоматического переноса строк. В текстовом редакторе nano функция автоматического переноса строк отключается с помощью комбинации клавиш Alt+L .

Комментарии обычно начинаются с символа #

Если вы разместите символ # в начале строки, командная оболочка проигнорирует эту строку. Строка превратится в комментарий, с помощью которого вы можете напомнить себе о том, что выводит предыдущая команда или о том, что будет делать следующая. И снова следует отключить функцию автоматического переноса строк, а в случае необходимости переноса строки не стоит забывать о первом символе решетки. Использование подробных комментариев является отличной практикой, упрощающей модификацию ваших сценариев как вами, так и сторонними пользователями. Единственным исключением из данного правила является упомянутая выше конструкция хэш-банг, поэтому не стоит использовать символ восклицательного знака ( ! ) сразу же после символа решетки ( # ) в комментариях.

Команды для подстановки помещаются в круглые скобки

Не так давно все подстановки команд осуществлялись с помощью символов обратного апострофа ( ` , расположен на клавиатуре на той же клавише, что и символ тильды ~ ). Мы пока не будем рассматривать данную тему, но ввиду того, что многие люди перечитывают статьи с вводной информацией, следует упомянуть о том, что вместо символов обратного апострофа следует использовать символы круглых скобок. Это стоит делать главным образом по той причине, что при вложении команд, то есть, размещении одних команд в рамках других команд, круглые скобки работают лучше.

Ваш первый сценарий

Давайте начнем с разработки простого сценария, позволяющего копировать файлы с добавлением даты к их именам. Назовем этот сценарий «datecp» . В первую очередь предлагаю убедиться в том, что имя сценария не конфликтует с именем какой-либо системной утилиты:

which datecp

Как несложно заметить, команда which не выводит каких-либо данных, следовательно, ничто не мешает нам использовать это имя файла сценария.

Теперь давайте создадим пустой файл в директории ~/bin :

touch ~/bin/datecp

touch ~/bin/datecp

Пока мы не забыли, следует изменить установленные по умолчанию права доступа к только что созданному файлу сценария:

chmod u+x ~/bin/datecp

Теперь можно начинать работу над кодом сценария. Для этого следует открыть созданный пустой файл в выбранном текстовом редакторе. Как я уже говорил, мне нравится простота текстового редактора nano, поэтому я буду использовать именно его.

nano ~/bin/datecp

И наконец, мы можем добавить в файл необходимую для корректной работы сценария первую строку, а также комментарий с описанием его функций.

Хэш-банг и комментарий

Далее нужно объявить переменную. Если вы когда-либо изучали алгебру, вы наверняка знаете, что это такое. Переменная позволяет сохранять информацию и осуществлять определенные манипуляции с ней. Переменные могут «раскрываться» при упоминании в каком-либо другом месте сценария. То есть, вместо вывода их имен будет осуществляться вывод сохраненных в них значений.

Впоследствии вы сможете сохранить в переменной новую информацию, причем в следующих операциях с данной переменной будет использоваться уже эта новая информация. Это очень удобная сущность для хранения тех или иных данных.

Какие же данные мы будем хранить в нашей переменной? Ну, давайте сохраним в ней дату и время! Для этого нам придется вызвать команду date .

Обратите внимание на приведенный ниже снимок окна терминала с выводом команды date :

Вывод команды date

Несложно заметить, что путем добавления различных параметров форматирования, имена которых начинаются с символа % , вы можете изменять формат вывода команды по своему усмотрению. Для ознакомления с дополнительной информацией вы можете ознакомиться со страницей руководства команды date .

Давайте используем последний вариант набора параметров форматирования команды date , а именно, «date +%m_%d_%y-%H.%M.%S» , в нашем сценарии.

Команда date в сценарии

Если мы сохраним этот сценарий прямо сейчас и выполним его, мы получим вполне ожидаемый вывод команды date :

Вывод сценария с командой date

Но давайте поступим немного по-другому. Я предлагаю сохранить вывод данной команды в переменной с заданным именем, таким, как date_formatted . Корректный синтаксис данной операции выглядит следующим образом:

переменная=$(команда -параметры аргументы)

В нашем случае данная синтаксическая конструкция будет выглядеть следующим образом:

date_formatted=$(date +%m_%d_%y-%H.%M.%S)

Сохранение вывода команды date в переменной

Именно это и называется подстановкой команд. Мы сообщаем bash, что при каждом упоминании переменной «date_formatted» следует выполнять команду, помещенную в круглые скобки. После этого при упоминании переменной «date_formatted» качестве вывода вместо ее имени будет использоваться вывод команды в круглых скобках.

А это пример сценария и его вывод:

Пример сценария с командой date

Вывод сценария

Обратите внимание на наличие двух символов пробела в выводе. Эти символы находятся в рамах команды echo перед кавычками, а также перед именем переменной. Не используйте пробелы, если вы не хотите, чтобы они присутствовали в выводе. Также следует обратить внимание на то, что при отсутствии строки с командой «echo» сценарий не будет выводить каких-либо данных.

Давайте вернемся к нашему сценарию. Добавим в него команду копирования файла:

cp -iv $1 $2.$date_formatted

Добавление даты к имени целевого файла

В данном случае используется команда для копирования файла с параметрами -i и -v . Первый параметр позволяет вам подтвердить свои намерения перед перезаписью файла, а второй — вывести информацию о параметрах, переданных команде.

Далее вы можете обнаружить, что я добавил параметр $1 . При разработке сценариев знак доллара ( $ ) со следующим за ним числовым значением соответствует аргументу сценария под номером, равным этому числовому значению. Например, в следующей команде:

cp -iv Trogdor2.mp3 ringtone.mp3

первым аргументом является «Trogdor2.mp3» , а вторым — «ringtone.mp3» .

Если вы снова посмотрите на код сценария, вы обнаружите, что мы передаем команде копирования файла два аргумента сценария:

Добавление даты к имени целевого файла

Это означает, что при запуске сценария нам придется передавать ему два аргумента для корректной работы. Первый аргумент, $1 , является именем копируемого файла, подставляемым в качестве первого аргумента команды «cp -iv» .

Второй аргумент, $2 , выступает в качестве имени целевого файла в рамках этой же команды. Но вы также можете обнаружить его важное отличие. Я добавил к нему символ точки и упоминание рассмотренной выше переменной «date_formatted» . Вам интересно, для чего предназначена такая конструкция?

А это вывод сценария после его запуска:

Вывод сценария

Очевидно, что имя целевого файла состоит из имени файла, переданного посредством второго аргумента сценария $2 , а также находящихся после него символа точки и вывода команды date ! Все логично, не так ли?

Теперь при выполнении команды datecp будет осуществляться запуск данного сценария, позволяющего осуществить копирование файла с автоматическим добавлением к имени целевого файла информации о текущих дате и времени. Это довольно удобно в том случае, если нужно осуществлять резервное копирование файлов!

Разработка сценариев командной оболочки просто необходима в том случае, если вы желаете заставить свою систему работать так, как вам хочется. Для этой цели вам не придется изучать какой-либо новый язык программирования. Попрактикуйтесь в создании своих собственных сценариев командной оболочки на основе системных команд и подумайте о том, для чего они смогут впоследствии использоваться.

Вы уже имеете опыт создания собственных сценариев командной оболочки? Вам есть что сказать начинающим пользователям? Поделитесь своим опытом в разделе комментариев! Мы рассмотрим другие аспекты процесса разработки сценариев командной оболочки в следующих статьях серии!

Источник: rus-linux.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru