Содержание

Руководство по написанию скриптов в Linux Bash

Введение

Набор встроенных команд bash (и его аналогов sh, zsh, etc) совместим с любым POSIX-совместимым приложением в Linux, что позволяет встроить в ваш bash-скрипт любое совместимое приложение. Это дает очень большой набор возможностей в сфере автоматизации рутинных задач администрирования систем Linux, деплоя и сборки приложений, различных пакетных обработок, в том числе аудио и видео.

Командная строка — самый мощный пользовательский интерфейс из существующих на данный момент. Базовый уровень знаний получить достаточно просто. Рекомендуется изучить руководство bash. Это можно сделать, выполнив команду man bash.

Суть bash-скриптов — записать все ваши действия в один файл и выполнять их по необходимости.

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

Развертывание среды

Для выполнения скриптов, которые мы будем учиться писать, нужна среда. Если вы используете на своем компьютере систему Linux, вы можете делать все локально. Если Windows, — можете установить WSL/WSL2. Кроме того, вы можете создать виртуальный сервер и подключиться к нему по SSH. Так вы не навредите своему компьютеру если что-то пойдет не так.

Мы выбрали вариант создать виртуальную машину.  Залогинимся в личном кабинете https://my.selectel.ru/, нажав на вкладку «Облачная платформа». Там вы сможете создать виртуальный сервер.

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

Нажмем «Создать сервер». 

В разделе «Источник» убеждаемся, что выбран образ Ubuntu 20.04.

Конфигурацию можно настроить по своим потребностям.

В разделе «Сеть» стоит выбрать «Подсеть — Плавающий IP-адрес».

В разделе «Доступ» загрузите SSH-ключ и не забудьте сохранить root-пароль. Подробнее об этом рассказано в этой статье

Теперь можно создать сервер кнопкой «Создать» в самом низу.

Будет отображена страница статуса сервера, надо дождаться индикации ACTIVE вверху справа.

Теперь на вкладке «Порты» можно посмотреть IP-адрес, присвоенный серверу.

Не копируйте чужой код


Копирование чужого кода на свой компьютер/сервер опасно. Ранее существовал «патч Бармина», представляющий из себя команду rm -rf /*. Ее очень любили давать новичкам Linux на некоторых конференциях в качестве универсального средства от всех проблем. Суть команды — рекурсивное удаление всех каталогов внутри корневого каталога, т. е. всех системных и пользовательских файлов. Сейчас эта команда не сработает во всех актуальных версиях Linux, но раньше она служила злой шуткой и наказанием тем, кто копировал чужие скрипты на свои серверы и выполнял их. Способов навредить серверу/компьютеру все еще достаточно, но они не столь очевидны.

Выбор редактора

Вам потребуется удобный текстовый редактор. Если вы подключаетесь по SSH, то лучшим выбором будут 3 варианта:

  • * vim (если умеете из него выходить)
  • * nano (прост, удобен и надежен)
  • * mcedit (входит в пакет mc, классический двухпанельный консольный файловый менеджер)

Если вы делаете все локально, выбор полностью на вас. Обычный выбор под Linux — gedit. В этой инструкции мы пользовались nano через SSH на удаленном сервере.

Запуск “Hello, World!”

Первая программа, которую обычно пишут программисты это «Hello, World!» —  простой вывод этой строки. Мы тоже с этого начнем. За вывод строки в консоль отвечает команда echo. Прямо в консоли вы можете напечатать echo «Hello, World!» и получить соответствующий вывод:

root@geneviev:~ # echo "Hello, World!"
Hello, World!

Сделаем это программой. Команда touch helloworld.sh создаст файл helloworld.sh. Команда nano helloworld.sh откроет этот файл для редактирования. Заполним файл нашей программой:

#!/bin/bash
echo "Hello, World!"

Для выхода с сохранением из nano надо нажать CTRL + O для сохранения (после чего нажать enter для перезаписи текущего открытого файла), а потом CTRL + X для выхода. Можно выходить без сохранения, при этом он спросит, точно ли вы хотите выйти без сохранения. Если да, надо нажать N для выхода без сохранения. Если вы нажмете Y, он спросит куда сохранить измененный файл, можно нажать enter для перезаписи редактируемого файла.

Разберем, что мы написали.

Первой строкой идет #!/bin/bash — фактически это указание на местоположение интерпретатора. Чтобы при запуске скрипта не требовалось указывать отдельно интерпретатор. Убедиться, что ваш bash интерпретатор лежит по этому пути можно через команду which bash:

root@geneviev:~ # which bash
/usr/bin/bash

Второй строкой идет непосредственно вся наша программа.

Как она работает, мы разобрали выше, перейдем к выполнению.

Запустить ваш скрипт/команду можно двумя способами.

Способ №1: bash helloworld.sh. Вы вызываете интерпретатор и в аргументе передаете ему имя файла для исполнения.

root@geneviev:~ # bash helloworld.sh 
Hello, World!

Способ №2: Сначала надо разрешить системе исполнять скрипт: chmod +x helloworld.sh. Эта команда сделает файл исполняемым. Теперь вы можете запустить его как любой бинарный файл в linux: ./helloworld.sh

root@geneviev:~ # ./helloworld.sh 
Hello, World!

Первая программа готова, она просто выводит строку в консоль.

Аргументы

Это параметры, которые вы можете передать программе при ее вызове. Например, программа ping принимает в качестве обязательного аргумента IP-адрес или DNS-имя, которое требуется пропинговать: ping selectel.ru. Это простой и удобный способ общения пользователя с программой.

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

X это число. $0 — всегда имя исполняемого скрипта. $1 — первый аргумент, $2 — второй и так далее. Конечно, если вы планируете передавать пару десятков аргументов вашему приложению, это может быть несколько утомительно, так что вам понадобится что-то вроде этого цикла, чтобы перебрать все поступившие аргументы:

for var in "$@"; do
    echo "$var"
done

Подробнее про циклы будет рассказано в следующих разделах.

Пример, создадим новый файл: touch hellousername.sh. Выдаем права на исполнение chmod +x hellousername.sh.

Открываем nano hellousername.sh

Код примера следующий:

#!/bin/bash 

echo "Hello, $1!"

Сохраняем, закрываем. Смотрим, что получилось.

root@geneviev:~ # . /hellousername.sh Vasya
Hello, Vasya!

Программа получилась маленькая, но она учит пользоваться (на самом базовом уровне) аргументами, которые мы в нее можем передать. В данном случае аргумент передается один, Vasya, мы сразу его используем, не делая никаких проверок. 

root@geneviev:~ # ./hellousername.sh 
Hello, !

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

Способ №1

#!/bin/bash
if [ "$#" -lt 1 ]; then
    echo "Недостаточно аргументов. Пожалуйста, передайте в качестве аргумента имя. Пример: $0 Vasya"
    exit 1
fi
echo "Hello, $1!"

Более подробно конструкцию if then [else] fi мы рассмотрим далее, пока не будем на ней останавливаться. Важно понимать, что тут проверяется. $# Это число аргументов без учета имени скрипта, который всегда $0.  

Способ №2

#!/bin/bash
if [ -z "$1" ]; then
   echo "Имя пустое или не передано. Пожалуйста, передайте в качестве аргумента имя. Пример: $0 Vasya"
   exit 1
fi

echo "Hello, $1!"

Здесь тоже используется конструкция if then [else] fi. Ключ -z в if используется для проверки переменной на пустую строку. Есть противоположный ключ -n, он проверяет что строка не пустая. Конечно, этот способ некорректно использовать для проверки входящих аргументов, но в теле самой программы он будет полезен. Например, чтобы проверить что выполненное в самой программе приложение что-то вернуло.

Управляющие конструкции

if-else

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

if else. В bash это также присутствует.

Возьмем один из примеров выше.

#!/bin/bash
if [ "$#" -lt 1 ]; then
    echo "Недостаточно аргументов. Пожалуйста, передайте в качестве аргумента имя. Пример: $0 Vasya"
    exit 1
fi
echo "Hello, $1!"

Происходит проверка системной переменной $# на то, что она меньше, чем (lower than,

-lt) 1. Если это выражение истинно, мы переходим в блок команд, открывающийся ключевым словом then. Весь блок, начинающийся с if, должен завершаться ключевым словом fi. Более сложная структура ветвления может выглядеть примерно так:

if TEST-COMMAND1
then
  STATEMENTS1
elif TEST-COMMAND2
then
  STATEMENTS2
else
  STATEMENTS3
fi

Реальный пример:

#!/bin/bash
if [ "$#" -lt 1 ];
then
    echo "Недостаточно аргументов. Пожалуйста, передайте в качестве аргумента имя. Пример: $0 Vasya"
    exit 1
fi
if [ "$1" = "Vasya" ]; then
        echo "Whatsupp, Vasiliy?"
elif [ "$1" = "Masha" ];
then
        echo "Hey, Masha"
elif [ "$1" = "Michael" ];
then
        echo "Shalom, Michael"
else
        echo "Hi, $1"
fi

Вывод программы:

root@geneviev:~ # . /hellousername.sh Vasya
Whatsupp, Vasiliy?
root@geneviev:~ # ./hellousername.sh Masha
Hey, Masha
root@geneviev:~ # ./hellousername.sh Michael
Shalom, Michael
root@geneviev:~ # ./hellousername.sh Andrew
Hi, Andrew
root@geneviev:~ # ./hellousername.sh 
Недостаточно аргументов. Пожалуйста, передайте в качестве аргумента имя. Пример: ./hellousername.sh Vasya

Выражение «$1» = «Vasya» проверяет строки на идентичность. Блок после else выполняется только если выше не найден более подходящий блок.

&& и ||

В предыдущей главе вы могли заметить, что я использовал exit 1 для завершения работы программы в случае неуспешной проверки аргумента. Это означает, что программа завершилась с ошибкой. В bash есть операторы && и ||, которые используются для создания цепочек команд. Каждая цепочка зависит от результата выполнения предыдущей программы.

Пример 1: command1 && command2. В этом случае command2 выполнится, только если command1 завершится с кодом 0 (exit 0, по умолчанию). 

Пример 2: command1 || command2. В этом случае command2 выполнится, только если command1 завершится с кодом отличным от 0. 

Пример 3: command1 && command2 || command3. Если command1 завершится с кодом 0, то будет выполнен command2, иначе command3.

Переменные

Как гласит один из основных принципов программирования — Do Not Repeat Yourself (DRY). Вот и мы не будем повторять себя и перепишем предыдущий пример с использованием переменных, чтобы не вызывать echo каждый раз.

Переменные в bash создаются присваиванием: x=»foo bar» или z=$1. Переменной x мы присвоили строку @foo bar«, а переменной z мы присвоили значение первого аргумента.

Использовать именованные переменные гораздо удобнее, чем использовать $1, особенно когда надо использовать его значение во многих местах.

К тому же, аргументы могут идти в разном порядке. Осмысленные названия переменных очень важны, при разрастании программы это снизит неизбежную путаницу. Избегайте имен переменных (и функций) вроде «a», «b», «zzzz», etc.

Чтобы не вызывать echo в каждом варианте с разными строками, разобьем строку на части. Первая часть будет приветствием. Вторая — именем. Третья — завершающим знаком препинания. Его можно не выносить в переменную.

#!/bin/bash

greetString="Hello"
nameString="stranger"

if [ "$#" -lt 1 ];
then
    echo "Недостаточно аргументов. Пожалуйста, передайте в качестве аргумента имя. Пример: $0 Vasya"
    exit 1
fi

if [ "$1" = "Vasya" ]; 
then
    nameString="Vasiliy"
	greetString="Whatsup"
elif [ "$1" = "Masha" ];
then
	nameString="Maria"
elif [ "$1" = "Michael" ];
then
	greetString="Shalom"
	nameString="Michael"
fi

echo "$greetString, $nameString!"

В этом примере мы создаем переменные greetString и nameString, которым присваиваем значения по умолчанию. В конце программа выводит значения этих двух переменных с помощью echo и форматированной строки (в двойных кавычках переменные раскрываются). Между этими действиями программа определяет, надо ли присваивать переменным другие значения.

Switch case

Использование if-else конструкции в нашем примере не является оптимальным вариантом. Мы всего лишь сверяем значение переменной с определенным набором значений. В такой ситуации лучшим выбором будет switch-case-конструкция.

case "$variable" in

 "$condition1" )
 command...
 ;;

 "$condition2" )
 command...
 ;;

esac

Перепишем нашу программу приветствий с использованием switch-case:

#!/bin/bash

name=$1

case "$name" in
  "Vasya" )
    nameString="Vasiliy"
	greetString="Whatsup"
  ;;
  "Masha" )
	greetString="Hey"
	nameString="Maria"
  ;;
  * )
	greetString="Hello"
	nameString="stranger"
  ;;
esac

echo "$greetString, $nameString!"

Циклы

Как и любой полноценный язык программирования, bash поддерживает циклы. Цикл for и цикл while. Циклы нужны, чтобы выполнять какой-то код заданное число раз. Например, при парсинге CSV перебирать построчно и каждую строку рассматривать отдельно.

Цикл for

Вот пример структуры цикла for:

for var in list
do
команды
done

Простой реальный пример:

#!/bin/bash

for name in Maria Vasya Michael stranger
do
	echo "Hello, $name!"
done

Вывод:

root@geneviev:~ # ./cycle.sh 
Hello, Maria!
Hello, Vasya!
Hello, Michael!
Hello, stranger!

Программа просто перебирает все имена, разделенные пробелом, и выводит их с помощью echo.

Попробуем немного усложнить пример:

#!/bin/bash
file=$1
for name in $(cat $file)
do 
	echo "Hello, $name!"
done

Создадим файл с именами touch names и запишем в него список имен для приветствия:

Maria
Vasiliy
Ivan
Nikolai
Innokentiy

Вывод:

root@geneviev:~ # . C. Это символ прерывания выполнения программы. В нашем случае мы вызвали программу без аргумента, и она вошла в вечный цикл. Можно сказать, зависла. Пришлось завершить ее принудительно. Не забывайте делать проверки входных данных в реальных программах.  Как это делать, можете посмотреть в главах if-else и switch case, например.  

В нашей программе есть небольшой баг. Модифицируем файл имен:

Erich Maria Remarque
Vasiliy
Ivan
Nikolai
Innokentiy

Запустим программу, получим вывод:

root@geneviev:~ # ./cycle.sh names
Hello, Erich!
Hello, Maria!
Hello, Remarque!
Hello, Vasiliy!
Hello, Ivan!
Hello, Nikolai!
Hello, Innokentiy!

Как говорится, «Кто все эти люди?». Так получается, потому что у нас не задана переменная окружения IFS (Internal Field Separator), указывающая на разделители полей. Наш цикл использует пробелы и переносы строки как разделители. В начале скрипта (после #!/bin/bash) укажите использовать перенос строки как разделитель полей: IFS=$’\n’.  

root@geneviev:~ # ./cycle.sh names 
Hello, Erich Maria Remarque!
Hello, Vasiliy!
Hello, Ivan!
Hello, Nikolai!
Hello, Innokentiy!

В итоге мы получим возможность работать со строками целиком. Это пригодится для парсинга CSV.

Обычно цикл for используется со счетчиком. В C-like стиле. Что-то вроде for (i=0;i<10;i++){}. В bash тоже так можно. 

#!/bin/bash
for (( i=1; i 

Цикл while

Схема организации цикла while:

while команда проверки условия
do
другие команды
done

Простой способ сделать бесконечную петлю (бесконечный цикл):

while true
	do
	echo "this is infinity loop"
done

Это может пригодится, например, когда вам нужно вызывать что-то чаще, чем позволяет cron (например, раз в минуту). Или когда вам просто надо проверять какое-то значение постоянно. Областей применения у бесконечных циклов много.

Здесь используются те же самые выражения, что и в if:

#!/bin/bash
count=0
while [ $count -lt 10 ]
do
	(( count++ ))
	echo "count: $count"
done

Вывод:

root@geneviev:~ # . /cycle.sh 
count: 1
count: 2
count: 3
count: 4
count: 5
count: 6
count: 7
count: 8
count: 9
count: 10

Из цикла можно выйти с помощью команды break (работает также и для for):

#!/bin/bash
count=0
while [ $count -lt 10 ]
do
	(( count++ ))
	echo "count: $count"
	if [ "$count" -gt 5 ]
	then
		break
	fi
done

Вывод:

root@geneviev:~ # ./cycle.sh 
count: 1
count: 2
count: 3
count: 4
count: 5
count: 6

Заключение

Несмотря на огромную конкуренцию в сфере автоматизации рутины со стороны python, ruby, perl bash не сдает позиции. Он прост в освоении и использовании, гибок и так или иначе присутствует в абсолютном большинстве дистрибутивов Linux.

В этой статье были приведены только основы написания программ на bash. Надеемся, вы нашли их полезными для себя.

Как написать скрипт для чайников : Радиосхема.

ру

Любой начинающий системный администратор Linux рано или поздно сталкивается с таким понятием, как “скрипт”, будь то один из загрузочных скриптов вроде /etc/rc.d/rc или написанный разработчиком ПО скрипт конфигурирования configure. В данной статье я постараюсь показать, что написание скриптов на shell не является чем-то из ряда вон выходящим и вполне под силу даже новичку в мире Linux.

Начнем с того, что разберем, что же скрывается за английскими терминами shell и скрипт. Shell, или оболочка, как этот термин иногда переводят – это командный интерпретатор, интерфейс между пользователем и операционной системой, ее ядром. Но, кроме этого, это еще и мощный язык программирования и написания сценариев. Он содержит свои служебные слова и управляющие конструкции и позволяет писать на нем программы. Такая программа на языке сценариев, называемая скриптом, может объединять в себе системные вызовы и команды операционной системы, а также внешние утилиты, создавая мощный инструмент для системного администрирования.

Одной из задач системного администрирования является резервное копирование важной информации. Поэтому давайте рассмотрим пример скрипта, реализующего back-up информации.

Начало начал

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

Эти команды объединены в одном файле. Но shell должен знать, что он должен этот файл обработать, а не просто прочесть его содержимое. Для этого служит специальная конструкция: #!

Эта конструкция называется «sha-bang». Вообще-то, # задает комментарий, но в данном случает sha-bang означает, что после нее пойдет путь к обработчику скрипта. Напрмер:

Мы остановимся на Bash, Bourne-Again shell. Это shell устанавливается по умолчанию практически во всех Linux-системах, и /bin/sh ссылается на него. Об окончании скрипта говорит служебное слово exit.

Вооружившись этими знаниями, напишем наш первый скрипт:

Сохраним этот файл под именем tutor1. sh. Выполним команду чтобы сделать скрипт исполняемым.

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

Переходим к более серьезному.

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

Перво-наперво, необходимо определить – резервную копию чего мы будем делать. Поэтому наш скрипт должен уметь работать с командной строкой. Аргументы командной строки задаются после имени скрипта через пробел: somescript arg1 arg2 arg3. Скрипт воспринимает аргументы по номерам их следования, поэтому мы будем использовать конструкции вида $номер_аргумента, т.е. $1, $2, $3. $ — это символ подстановки, который нам понадобится и при работе с переменными. Переменные в скрипте задаются в виде имя_переменной=значение. Мы будем использовать переменные MAXPARAMS для определения максимального количества параметров командной строки, BACKUPFILE для задания имени архива, BACKUPDIR для папки, резервную копию которой мы будем делать и ARCHIVEDIR для папки, куды мы поместим архив. Самой главной частью скрипта будут команды поиска и архивации всех найденных файлов и папок в указанной:

Давайте разберемся, что же эти команды делают. find ищет в текущем каталоге (об этом говорит первый аргумент «.») все файлы и выдает полный путь к ним (print0). Эти пути перенаправляюся команде tar, которая собирает все файлы в один. Затем командой gzip мы архивируем получившийся tar-файл. Команда > /dev/null удобна, если вы архивируете большое количество файлов. В этом случае их имена и полный путь к ним не выводятся на консоль.

Следующий шаг должен предусмотреть подсказки пользователю как пользоваться скриптом, если он допустит какие-то ошибки.

Например, эта конструкция

подскажет, что пользователь указал недостаточное количество аргументов командной строки. If [условие]. fi задает условную конструкцию. $# -lt «$MAXPARAMS» проверяет введенное количество параметров и если это число окажется меньше MAXPARAMS, то пользователю будет выдано сообщение об ошибочном вводе. Exit 0 заставит скрипт прекратить работу без указания кода ошибки. Аналогично проверяется превышение допустимого числа параметров, только вместо ls (less then – меньше, чем), необходимо указать gt (greater then – больше, чем). Теперь, когда основные моменты скрипта разъяснены, можно переходить к полной его версии:

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

Если вы хотите отобразить статический контент, например, набор изображений, тогда HTML выполнит для вас эту работу. Однако, статические страницы медленно, но уверенно становятся вчерашним днём. Большинство контента сегодня интерактивное и включает динамические слайд-шоу, формы и меню. Они расширяют восприятие пользователя и добавляют динамичности сайту. Это достигается использованием скриптовых языков и JavaScript – один из самых известных в этом отношении. Он позволяет разработчикам делать сайты, взаимодействующие с пользователем. Хотя, есть много других доступных языков, но не один из них не достиг такой популярности, как JavaScript. Для раскрытия огромного потенциала этого языка, его используют совместно с HTML.

  • Преимущества JavaScript
  • Минимизация взаимодействия с сервером
  • Более богатый интерфейс, ориентированный на удобство пользователя
  • Молниеносный отклик пользователю
  • Лёгкая трассировка
  • Вставка JavaScript в HTML
  • Вставка JavaScript непосредственно в HTML-файл
  • Вставка JavaScript в HTML из отдельного файла
  • Пример кода JavaScript для проверки адреса email
  • Заключение

Преимущества JavaScript

JavaScript вначале назывался LiveScript. Но, так как на тот момент Java была у всех на устах (по всему миру), Netscape решил переименовать его в JavaScript. Дата его первого появления – 1995 как часть Netscape 2.0. Некоторые самые выдающиеся преимущества JavaScript опишем ниже.

Минимизация взаимодействия с сервером

Хорошо известный факт, что если вы хотите оптимизировать производительность своего сайта, лучший путь – это снизить взаимодействие с сервером. JavaScript тут помогает проверкой корректности ввода пользователем на стороне клиента. Запрос серверу отправляется только тогда, когда начальные проверки пройдены. Как результат, использование ресурсов и количество запросов к серверу значительно уменьшается.

Более богатый интерфейс, ориентированный на удобство пользователя

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

Молниеносный отклик пользователю

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

Лёгкая трассировка

JavaScript – это интерпретируемый язык, что значит, что написанный код выполняется построчно. Если возникла ошибка, вы будете точно знать номер строки, в которой возникла проблема.

Вставка JavaScript в HTML

Есть два пути вставки JavaScript в HTML и их комбинация. Теперь, когда мы поговорили о JavaScript и рассмотрели его преимущества, давайте взглянем на пути сопряжения JavaScript и HTML.

Вставка JavaScript непосредственно в HTML-файл

Первый способ добавить JavaScript в HTML – прямой. Вы можете сделать это путём использования тэгов , которые должны обрамлять весь код JS, который вы пишете. JS код может быть вставлен:

  • между тэгами
  • между тегами

В зависимости от того, где вы добавляете код JavaScript в вашем файле HTML, его загрузка будет отличаться. Рекомендуемой практикой является добавление его в разделе , так он будет оставаться отдельно от самого кода файла HTML. Но размещение его в может улучшить скорость загрузки, так как актуальный контент сайта будет загружен быстрее и только потом будет разобран код JavaScript. Для примера этого, давайте взглянем на следующий HTML-файл, который предполагает отображение времени:

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

Заключим этот код в тэги и поставим его в заголовочной части кода HTML, чтобы быть уверенным в том, что независимо от того, загрузилась ли страница полностью, сообщение будет показывать текущее время для пользователя. Так файл HTML будет выглядеть после добавления кода:

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

А вот результат:

Вставка JavaScript в HTML из отдельного файла

Иногда добавление кода JavaScript в HTML напрямую не выглядит лучшим решением. Преимущественно, по причине того, что многие JS-скрипты используются на множестве страниц, код JavaScript лучше располагать в отдельном файле. Именно поэтому вариант вставки JavaScript в HTML путём импорта файла является наиболее подходящим. На эти файлы внутри документа HTML располагаются ссылки, на подобие того, как это делается для CSS-файлов. Некоторые преимущества подключения JS кода из внешнего файла:

  • Когда код HTML и JavaScript отделены, сохраняется принцип структурного разделения, и это делает отдельные блоки более удобными для повторного использования и их функционирование более рациональным.
  • Читаемость кода и его редактирование становится проще и удобнее.
  • Кэширование файлов JavaScript повышает общую производительность путём снижения времени загрузки страницы.

Ссылку на файл JavaScript внутри файла HTML можно сделать так:

Содержимое файла myscript.js будет:

Примечание: Здесь предполагается, что файл myscript. js находится в каталоге js, который находится в том же каталоге, что и файл HTML.

Пример кода JavaScript для проверки адреса email

JavaScript позволяет вашему приложению осуществить проверку ввода данных на стороне пользователя. Один из параметров, который часто требует проверки – это email адрес. Эта функция JavaScript может помочь вам с проверкой введённого адреса email перед отправкой данных формы на сервер:

Чтобы прикрепить этот код к форме ввода можно использовать следующий html-код:

Вот результат, который вы получите после соединения всех компонентов вместе в файле HTML:

И если проверка не прошла, результат будет иной:

Поздравляем! Мы рассмотрели подключение JavaScript в HTML на нескольких простых примерах.

Заключение

В этой статье мы ведём речь о двух вариантах вставки JavaScript в HTML(англ.) код и, как только вы освоитесь, перед вами открываются безграничные возможности совместного использования двух языков программирования. JavaScript может быть использован в сочетании с HTML для придания современным веб-приложениям интерактивности, интуитивной понятности и дружелюбности. Применяя простую проверку на клиентской стороне можно избежать возрастания трафика на сервер и улучшить общую эффективность сайта.

Эта запись последний раз редактировалась 23 мая, 2018 11:58 дп

Давайте посмотрим, что такого особенного в JavaScript, чего можно достичь с его помощью и какие другие технологии хорошо с ним работают.

Что такое JavaScript?

Изначально JavaScript был создан, чтобы «сделать веб-страницы живыми».

Программы на этом языке называются скриптами. Они могут встраиваться в HTML и выполняться автоматически при загрузке веб-страницы.

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

Это отличает JavaScript от другого языка – Java.

Когда JavaScript создавался, у него было другое имя – «LiveScript». Однако, язык Java был очень популярен в то время, и было решено, что позиционирование JavaScript как «младшего брата» Java будет полезно.

Со временем JavaScript стал полностью независимым языком со своей собственной спецификацией, называющейся ECMAScript, и сейчас не имеет никакого отношения к Java.

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

У браузера есть собственный движок, который иногда называют «виртуальная машина JavaScript».

Разные движки имеют разные «кодовые имена». Например:

  • V8 – в Chrome и Opera.
  • SpiderMonkey – в Firefox.
  • …Ещё есть «Trident» и «Chakra» для разных версий IE, «ChakraCore» для Microsoft Edge, «Nitro» и «SquirrelFish» для Safari и т.д.

Эти названия полезно знать, так как они часто используются в статьях для разработчиков. Мы тоже будем их использовать. Например, если «функциональность X поддерживается V8», тогда «Х», скорее всего, работает в Chrome и Opera.

Движки сложны. Но основы понять легко.

  1. Движок (встроенный, если это браузер) читает («парсит») текст скрипта.
  2. Затем он преобразует («компилирует») скрипт в машинный язык.
  3. После этого машинный код запускается и работает достаточно быстро.

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

Что может JavaScript в браузере?

Современный JavaScript – это «безопасный» язык программирования. Он не предоставляет низкоуровневый доступ к памяти или процессору, потому что изначально был создан для браузеров, не требующих этого.

Возможности JavaScript сильно зависят от окружения, в котором он работает. Например, Node.JS поддерживает функции чтения/записи произвольных файлов, выполнения сетевых запросов и т.д.

В браузере для JavaScript доступно всё, что связано с манипулированием веб-страницами, взаимодействием с пользователем и веб-сервером.

Например, в браузере JavaScript может:

  • Добавлять новый HTML-код на страницу, изменять существующее содержимое, модифицировать стили.
  • Реагировать на действия пользователя, щелчки мыши, перемещения указателя, нажатия клавиш.
  • Отправлять сетевые запросы на удалённые сервера, скачивать и загружать файлы (технологии AJAX и COMET).
  • Получать и устанавливать куки, задавать вопросы посетителю, показывать сообщения.
  • Запоминать данные на стороне клиента («local storage»).

Чего НЕ может JavaScript в браузере?

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

Примеры таких ограничений включают в себя:

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

Современные браузеры позволяют ему работать с файлами, но с ограниченным доступом, и предоставляют его, только если пользователь выполняет определённые действия, такие как «перетаскивание» файла в окно браузера или его выбор с помощью тега .

Существуют способы взаимодействия с камерой/микрофоном и другими устройствами, но они требуют явного разрешения пользователя. Таким образом, страница с поддержкой JavaScript не может незаметно включить веб-камеру, наблюдать за происходящим и отправлять информацию в ФСБ.

Различные окна/вкладки не знают друг о друге. Иногда одно окно, используя JavaScript, открывает другое окно. Но даже в этом случае JavaScript с одной страницы не имеет доступа к другой, если они пришли с разных сайтов (с другого домена, протокола или порта).

Это называется «Политика одинакового источника» (Same Origin Policy). Чтобы обойти это ограничение, обе страницы должны согласиться с этим и содержать JavaScript-код, который специальным образом обменивается данными.

Это ограничение необходимо, опять же, для безопасности пользователя. Страница https://anysite.com , которую открыл пользователь, не должна иметь доступ к другой вкладке браузера с URL https://gmail.com и воровать информацию оттуда.

JavaScript может легко взаимодействовать с сервером, с которого пришла текущая страница. Но его способность получать данные с других сайтов/доменов ограничена. Хотя это возможно в принципе, для чего требуется явное согласие (выраженное в заголовках HTTP) с удалённой стороной. Опять же, это ограничение безопасности.

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

Что делает JavaScript особенным?

Как минимум, три сильные стороны JavaScript:

  • Полная интеграция с HTML/CSS.
  • Простые вещи делаются просто.
  • Поддерживается всеми основными браузерами и включён по умолчанию.

JavaScript – это единственная браузерная технология, сочетающая в себе все эти три вещи.

Вот что делает JavaScript особенным. Вот почему это самый распространённый инструмент для создания интерфейсов в браузере.

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

Языки «над» JavaScript

Синтаксис JavaScript подходит не под все нужды. Разные люди хотят иметь разные возможности.

Это естественно, потому что проекты разные и требования к ним тоже разные.

Так, в последнее время появилось много новых языков, которые транспилируются (конвертируются) в JavaScript, прежде чем запустятся в браузере.

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

Примеры таких языков:

  • CoffeeScript добавляет «синтаксический сахар» для JavaScript. Он вводит более короткий синтаксис, который позволяет писать чистый и лаконичный код. Обычно такое нравится Ruby-программистам.
  • TypeScript концентрируется на добавлении «строгой типизации» для упрощения разработки и поддержки больших и сложных систем. Разработан Microsoft.
  • Flow тоже добавляет типизацию, но иначе. Разработан Facebook.
  • Dart стоит особняком, потому что имеет собственный движок, работающий вне браузера (например, в мобильных приложениях). Первоначально был предложен Google, как замена JavaScript, но на данный момент необходима его транспиляция для запуска так же, как для вышеперечисленных языков.
  • Brython транспилирует Python в JavaScript, что позволяет писать приложения на чистом Python без JavaScript.

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

Содержание статьи

  • Простые примеры
  • Десктоп
  • Google, Twitter, Dropbox и торренты
  • Вместо выводов

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

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

Простые примеры

Итак, не разглагольствуя понапрасну, сразу перейдем к примерам:

Эта простая команда покажет тебе внешний IP — идеальный вариант, если в Сеть ты ходишь через роутер. Все, что она делает, — просто обращается к серверу ifconfig.co, который возвращает обратно IP-шник одной строкой вместо полноценной веб-страницы.

И да, это вовсе не скрипт, это просто команда, но, чтобы превратить команду в скрипт, достаточно поместить ее в текстовый файл и первой строкой добавить так называемый шебанг, то есть символы #!, за которыми следует имя командного интерпретатора:

Далее скрипт сохраняем в каталог

/bin и назначаем права на исполнение:

Теперь его можно вызывать из командной строки командой myip.sh.

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

Сводка погоды в консоли

Другие статьи в выпуске:

Xakep #212. Секреты даркнета

  • Содержание выпуска
  • Подписка на «Хакер»

А так можно получить краткое описание чего-либо в Википедии, причем с помощью DNS-запроса вместо обращения к веб-серверу. Кстати, веб-сервер через командную строку тоже очень легко создать:

Данный скрипт основан на утилите netcat (nc), которую называют швейцарским армейским ножом для сетевых операций. Скрипт запускает цикл, выполняющий команду nc, которая слушает 80-й порт и в ответ на запрос отдает file.html, отправляя переданный запрос в никуда (символ означает noop, то есть пустую операцию).

С помощью простых скриптов и команд можно запросто слушать интернет-радио:

Естественно, плей-лист в формате M3U необходимо заранее скачать с сайта радиостанции. Кстати, если запустить MPlayer с аргументом —input-ipc-server=/tmp/mpvsocket, им можно будет управлять, записывая команды в файл. Например, настроить громкость:

Создай два скрипта: один для запуска, другой для остановки радио (со строкой killall mpv), повесь их на рабочий стол и настрой горячие клавиши DE на управление воспроизведением. Вуаля, у тебя готов плеер для интернет-радио, запустить который можно, просто кликнув по иконке на рабочем столе. И он почти не будет расходовать память или занимать трей.

Но отвлечемся от сетевых операций и вернемся к локальным делам.

Это один из моих любимых скриптов. Он создает архив tar.gz текущего каталога. Особого внимания здесь заслуживает конструкция $ , которая берет полный путь до текущего каталога (переменная $PWD) и удаляет из него первую часть вплоть до последнего слеша, оставляя, таким образом, только имя самого каталога. Далее к нему добавляется расширение tar.gz. Более подробно о таких конструкциях ты можешь прочитать в man bash.

А это уже скрипт, который запускает команду в ответ на изменение файлов в каталоге. Ее можно использовать для множества разных целей, например для автоматического включения плеера при сохранении MP3-файла. Или просто выводить уведомление на десктоп, используя в качестве команды notify-send:

Десктоп

Раз уж мы заговорили о десктопе, то продолжим. Как и консоль, его тоже можно заскриптовать. Вот, например, скрипт, загружающий случайные обои, опубликованные на reddit-канале wallpaper:

Здесь все просто. С помощью wget скрипт загружает страницу www.reddit.com/r/wallpaper, передает ее grep, который ищет на ней ссылки на imgur, выбирает случайную ссылку с помощью shuf, загружает ее опять же с помощью wget и устанавливает в качестве обоев, используя команду feh (это такой миниатюрный просмотрщик изображений, его нужно предварительно установить). Скрипт можно добавить на рабочий стол, и тогда по клику у тебя будут меняться обои.

А это скрипт для включения/выключения тачпада ноутбука: включает, если отключен, и наоборот. В своей работе использует утилиту synclient, позволяющую управлять тачпадами производства Synaptics (90% тачпадов делают они). При запуске без аргументов утилита выводит различную информацию о тачпаде, в том числе строку TouchpadOff = 1, если он активирован, и TouchpadOff = 2, если отключен. Скрипт находит это значение и в зависимости от состояния тачпада включает или отключает его.

А так можно сделать снимок с помощью веб-камеры. Скрипт использует видеоплеер mpv, чтобы записать первые три кадра, снятые камерой, в JPEG-файлы с именами 0000000.jpg, 00000002.jpg, 00000003.jpg, затем переименовывает третий снимок в файл photo.jpg, а остальные удаляет. Три снимка необходимы для того, чтобы камера успела провести инициализацию, обычно первые два получаются просто черными. Иногда изображение выходит перевернутым; чтобы это исправить, mpv следует запускать с флагом -vf flip :

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

Скрипт входит в бесконечный цикл, ожидая данные на устройстве /dev/input/mouse0 . Если данные есть, значит, мышь сдвинулась или была нажата одна из ее клавиш. После этого он использует mpv, чтобы сделать три снимка, дает третьему снимку имя текущей даты и удаляет остальные.

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

В результате ты получишь video.avi в формате MPEG4 с битрейтом 1800 и аудиодорожкой в формате MP3 с битрейтом 128.

А так ты можешь записать скринкаст. 1366×768 — разрешение рабочего стола. Просто сделать скриншот отдельного окна всегда можно с помощью команды import:

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

Подключить и настроить внешний монитор тоже можно из командной строки:

Данный скрипт предполагает, что основной монитор носит имя LVDS, а внешний — VGA-0. Это стандартная ситуация для ноутбуков; если ты не уверен, можешь проверить вывод команды xrandr: при передаче скрипту аргумента off он отключает внешний монитор, аргумент on, в свою очередь, включает его, располагая по левую сторону от основного (аргумент —left-of LVDS в первой команде). Далее скрипт добавляет новую конфигурацию для монитора с разрешением 1920 x 1080 и активирует его. В самом конце скрипт устанавливает дефолтное значение DPI — как показывает практика, при подключении монитора с другим разрешением оно часто слетает.

На самом деле в большинстве случаев команды xrandr —newmode . и xrandr —addmode . не нужны, так как Xorg может получить конфигурацию монитора и поддерживаемые им разрешения с помощью EDID. Иногда, однако, этого не происходит, и строку конфигурации, указываемую после аргумента —newmode, приходится генерировать самостоятельно с помощью инструмента cvt:

Он же поможет сгенерировать нестандартное разрешение, «не поддерживаемое» монитором по умолчанию.

Google, Twitter, Dropbox и торренты

Отвлечемся от десктопных дел и поговорим о сетевых сервисах. Начнем, разумеется, с Google. Вот так будет выглядеть скрипт для получения первых десяти результатов поиска:

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

Ищем в Google из командной строки

Второй популярный сервис — YouTube:

Здесь все совсем просто. Скрипт всего лишь проигрывает видео с указанным в аргументе ID с помощью плеера mpv. Естественно, youtube-dl придется установить заранее.

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

Скрипт использует консольный клиент ttytter, читая в цикле последнее direct message, далее он проверяет, не была ли такая команда уже выполнена, и, если нет, выполняет ее и отправляет указанному в переменной USER пользователю, попутно обрезая до 140 символов.

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

Ttytter запрашивает ключ

Твиттер можно использовать не только для выполнения команд, но и для мониторинга машины. Следующий скрипт отправляет в ленту сообщение с информацией о состоянии машины (имя хоста, uptime, нагрузка, свободная память и нагрузка на CPU):

Мониторинг машины с помощью Twitter

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

Скрипт уходит в бесконечный цикл, каждую минуту проверяя, сколько миллисекунд прошло с момента, когда юзер что-либо делал (для этого используется команда xprintidle). Если прошло уже 600 000 мс (десять минут), скрипт выполняет команду, указанную в переменной STARTCMD. В противном случае он выполнит команду STOPCMD, но только тогда, когда до нее была выполнена команда STARTCMD. Если кратко: ничего не делаешь за компом десять минут — запускается STARTCMD, в данном случае это команда запуска всех закачек с помощью Transmission, если нет — приостановка всех закачек. Не любишь Transmission? Нет проблем, вот команды для Deluge:

Вместо выводов

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

Каким путем пойти — выбирать тебе. Встанешь ли ты на темную сторону или выберешь путь джедая?

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Введение

break выход из цикла for, while или until
continue выполнение следующей итерации цикла for, while или until
echo вывод аргументов, разделенных пробелами, на стандартное устройство вывода
exit выход из оболочки
export отмечает аргументы как переменные для передачи в дочерние процессы в среде
hash запоминает полные имена путей команд, указанных в качестве аргументов, чтобы не искать их при следующем обращении
kill посылает сигнал завершения процессу
pwd выводит текущий рабочий каталог
read читает строку из ввода оболочки и использует ее для присвоения значений указанным переменным.\
return заставляет функцию оболочки выйти с указанным значением
shift перемещает позиционные параметры налево
test вычисляет условное выражение
times выводит имя пользователя и системное время, использованное оболочкой и ее потомками
trap указывает команды, которые должны выполняться при получении оболочкой сигнала
unset вызывает уничтожение переменных оболочки
wait ждет выхода из дочернего процесса и сообщает выходное состояние.

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

Что необходимо знать с самого начала

1. Любой bash-скрипт должен начинаться со строки:

#!/bin/bash
в этой строке после #! указывается путь к bash-интерпретатору, поэтому если он у вас установлен в другом месте(где, вы можете узнать набрав whereis bash) поменяйте её на ваш путь.
2. Коментарии начинаются с символа # (кроме первой строки).
3. В bash переменные не имеют типа(о них речь пойдет ниже)

Переменные и параметры скрипта

Приведу как пример небольшой пример, который мы разберем:

#!/bin/bash
#указываем где у нас хранится bash-интерпретатор
parametr1=$1 #присваиваем переменной parametr1 значение первого параметра скрипта
script_name=$0 #присваиваем переменной script_name значение имени скрипта
echo «Вы запустили скрипт с именем $script_name и параметром $parametr1» # команда echo выводит определенную строку, обращение к переменным осуществляется через $имя_переменной.
echo ‘Вы запустили скрипт с именем $script_name и параметром $parametr1’ # здесь мы видим другие кавычки, разница в том, что в одинарных кавычках не происходит подстановки переменных.
exit 0 #Выход с кодом 0 (удачное завершение работы скрипта)

Результат выполнения скрипта:

$ ./test.sh qwerty
Вы запустили скрипт с именем ./test.sh и параметром qwerty
Вы запустили скрипт с именем $script_name и параметром $parametr1

После того как мы познакомились как использовать переменные и передавать скрипту параметры, время познакомиться с зарезервированными переменными:

$DIRSTACK — содержимое вершины стека каталогов
$EDITOR — текстовый редактор по умолчанию
$EUID — Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя, в то время как.
$UID — . содержит реальный идентификатор, который устанавливается только при логине.
$FUNCNAME — имя текущей функции в скрипте.
$GROUPS — массив групп к которым принадлежит текущий пользователь
$HOME — домашний каталог пользователя
$HOSTNAME — ваш hostname
$HOSTTYPE — архитектура машины.
$LC_CTYPE — внутренняя переменная, котороя определяет кодировку символов
$OLDPWD — прежний рабочий каталог
$OSTYPE — тип ОС
$PATH — путь поиска программ
$PPID — идентификатор родительского процесса
$SECONDS — время работы скрипта(в сек.)
$# — общее количество параметров переданных скрипту
$* — все аргументы переданыне скрипту(выводятся в строку)
[email protected] — тоже самое, что и предыдущий, но параметры выводятся в столбик
$! — PID последнего запущенного в фоне процесса
$$ — PID самого скрипта

Условия

Условные операторы, думаю, знакомы практически каждому, кто хоть раз пытался на чем-то писать программы. В bash условия пишутся след. образом (как обычно на примере):
#!/bin/bash
source=$1 #в переменную source засовываем первый параметр скрипта
dest=$2 #в переменную dest засовываем второй параметр скрипта

if [[ «$source» -eq «$dest» ]] # в ковычках указываем имена переменных для сравнения. -eq — логическое сравнение обозначающие «равны»
then # если они действительно равны, то
echo «Применик $dest и источник $source один и тот же файл!» #выводим сообщение об ошибке, т.к. $source и $dest у нас равны
exit 1 # выходим с ошибкой (1 — код ошибки)
else # если же они не равны
cp $source $dest # то выполняем команду cp: копируем источник в приемник
echo «Удачное копирование!»
fi #обозначаем окончание условия.

Результат выполнения скрипта:
[email protected]:

$ ./primer2.sh 1 1
Применик 1 и источник 1 один и тот же файл!
[email protected]:

$ ./primer2.sh 1 2
Удачное копирование!

Структура if-then-else используется следующим образом:
if
then

else

В качестве команд возвращающих код возврата могут выступать структуры [[ , [ , test, (( )) или любая другая(или несколько) linux-команда.
test — используется для логического сравнения. после выражения, неоьбходима закрывающая скобка «]»
[ — синоним команды test
[[ — расширенная версия «[» (начиная с версии 2. 02)(как в примере), внутри которой могут быть использованы || (или), & (и). Долна иметь закрывающуб скобку «]]»
(( )) — математическое сравнение.
для построения многоярусных условий вида:
if .
then .
else
if .
then.
else .

для краткости и читаемости кода, можно использовать структуру:
if ..
then .
elif .
then .
elif .

Условия. Множественный выбор

Если необходимо сравнивать какоую-то одну переменную с большим количеством параметров, то целесообразней использовать оператор case.
#!/bin/bash
echo «Выберите редатор для запуска:»
echo «1 Запуск программы nano»
echo «2 Запуск программы vi»
echo «3 Запуск программы emacs»
echo «4 Выход»
read doing #здесь мы читаем в переменную $doing со стандартного ввода

case $doing in
1)
/usr/bin/nano # если $doing содержит 1, то запустить nano
;;
2)
/usr/bin/vi # если $doing содержит 2, то запустить vi
;;
3)
/usr/bin/emacs # если $doing содержит 3, то запустить emacs
;;
4)
exit 0
;;
*) #если введено с клавиатуры то, что в case не описывается, выполнять следующее:
echo «Введено неправильное действие»

esac #окончание оператора case.

Результат работы:
[email protected]:

$ ./menu2.sh
Выберите редатор для запуска:
1 Запуск программы nano
2 Запуск программы vi
3 Запуск программы emacs
4 Выход

После выбор цифры и нажатия Enter запуститься тот редактор, который вы выбрали(если конечно все пути указаны правильно, и у вас установлены эти редакторы 🙂 )
Прведу список логических операторв, которые используются для конструкции if-then-else-fi:
-z # строка пуста
-n # строка не пуста
=, (==) # строки равны
!= # строки неравны
-eq # равно
-ne # неравно
-lt,( ) #больше
-ge,(>=) #больше или равно
! #отрицание логического выражения
-a,(&&) #логическое «И»
-o,(||) # логическое «ИЛИ»

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

UPD: Исправил некоторые ошибки
UPD: Обновил часть про условия if-then-else

Как написать скрипт для чайников

Скрипт для шифтинга - Про Шифтинг.

Про Тульпу

Скрипты для шифтинга и как писать скрипт для шифтинга .

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

Как писать скрипт для шифтинга

Симптомы шифтинга
Популярные вопросы и ответы по шифтингу
Что такое тайминг в шифтинге

Музыка для шифтинга
Не получается шифтинг?
Прислать свою историю шифтинга

 

Как писать скрипт для шифтинга

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

Содержимое скрипта

  1. Информация о себе:
  • Имя, пол (фамилию можно не указывать, пол может быть выдуманный).
  • Рост, возраст, ваша раса (можно написать что вы дракон, человек, кот и так далее).
  • Прозвище (кличка) — как к вам будут обращаться другие в вашем сне (можете указать несколько кличек).
  • Подробно опишите внешность (красивый или нет, цвет глаз, волос и так далее).
  • Ваш характер (по желанию).
  • На каком языке вы говорите.
  • Таланты, склонности (все, что угодно, можно указывать магические способности).

 

  1. Какие у вас будут отношения с другими в вашей вселенной:
  • Возлюбленный.
  • Враги, друзья.
  • Семья, родственники, знакомые.
  • Кто в вас влюблен.
  • Кто вас ненавидит.
  • С кем вы поссорились (можно указать причину ссоры).
  1. Место, в котором вы появитесь в сне:
  • Опишите подробно все, что там будет(звуки, запахи, тепло или холодно, мрачно или весело, есть люди или кто-то еще и так далее).
  • Время года и какой год.
  • Если это вселенная из фильма или книги, то опишите какой момент происходит вовремя вашего появления.
  • Прошлое, будущее или вселенная без времени (что угодно).

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

  1. Очень важно! Не забудьте эти пункты:
  • Можете ли вы умереть во время путешествия или могут ли другие персонажи вокруг вас умереть.
  • Будете ли вы чувствовать боль, страх, ужас и так далее.
  • Запомнят ли вас, если вы уйдете из сна?
  • Какое время будет в вашем путешествии (часто принимают 1 час в нашей реальности на 1 день в той вселенной).
  1. Придумайте стоп-слово (Выручай слово для шифтинга), сказав которое вы сразу проснетесь. Нужно придумать такое слово, которое не употребляется просто так в разговорах.

Симптомы шифтинга

Многие начинающие шифтить часто спрашивают, как понять, что получилось попасть в сон? Если вы чувствуете сразу несколько этих симптомов, значит шифтинг у вас получился:

  • Мурашки по спине, рукам, ногам.
  • Медленное дыхание, полное расслабление, когда руки и ноги кажутся очень тяжелыми.
  • Вспышки цветного и белого света, цветовые пятна.
  • Чувство, что вы как бы падаете в туннель.
  • Ощущение полета вверх или вниз.
  • Может покалывать тело, ноги, руки.
  • Дрожь в мышцах.
  • Часто есть ощущение отделения от своего тела, как будто вы его покинули.

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

Популярные вопросы и ответы по шифтингу

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

Нужно ли писать скрипт, или можно запомнить?

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

Какой самый лучший метод для шифтинга?

Такого не существует. У каждого человека свои особенности и то, что работает на одном, может не получиться у другого. Нужно искать свой, который будет эффективным.

У меня не получается уснуть в методе рейвена, когда надо считать до 100, что делать?

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

Не получается визуализировать, что мне делать?

Здесь помогут только тренировки и упражнения для визуализации.

На чем писать скрипт, только на бумаге?

Можно на бумаге, можно в заметках на смартфоне, делайте как удобно.

А если я полностью перепишу скрипт?

Вы можете писать то, что хотите, просто продумайте до мельчайших подробностей, чтобы шифт получился.

Опасен или шифтинг, я не заболею?

Нет, не заболеете. Шифтинг не несет ничего опасного, это почти как яркий сон.

Я могу изменять скрипт?

Конечно, в любое время меняйте то, что хочется.

У меня получился шифт, что мне делать со скриптом?

Если все получилось, то не выбрасывайте листок, в дальнейшем вы сможете что-то в нем улучшать.

А если я там умру, или меня убьют?

Ничего не случится, вы просто проснетесь и все будет как раньше.

Я могу там остаться насовсем?

Нет, к сожалению, не получится, это сон, иллюзия.

Что мне делать, если находясь там я забуду стоп-слово?

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

Можно шифтиться и попасть в один сон с моим другом?

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

Если я буду знать математику в той вселенной, это мне поможет тут?

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

Я могу укрываться одеялом?

Конечно, если оно не сковывает движения и не мешает.

Я хочу оттуда влиять на наш мир, это возможно?

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

Что делать, если я не один в комнате, можно так шифтиться?

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

Когда я в том мире, что с моим телом, оно живое?

Конечно, вы просто спите, ничего страшного не происходит.

Что значат сокращения: кп, пр, жр, нр?

Это значит: канонный персонаж, параллельная реальность, желаемая реальность, наша реальность.

Как понять, какую реальность создавать?

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

Какие знания мне надо изучить, чтобы шифтиться?

Вы должны уметь визуализировать тот мир, в который хотите попасть.

Это будет как во сне, реально или не очень?

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

Я боюсь, а вдруг будет сонный паралич?

Если с вами никогда такого не было, то есть, у вас нет склонности, то ничего не случится.

Я могу что-то взять из той вселенной в эту?

Нет, вы не сможете перенести в нашу реальность ничего оттуда.

А запахи я буду там чувствовать?

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

А можно совместить разные вселенные и реальности?

Нет, не получится.

У меня есть симптомы, но шифт не получается, почему?

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

Почему я не могу уснуть, или просто засыпаю, как обычно?

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

А днем шифтить получится?

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

Методы — это что такое?

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

А можно придумать свой метод, он будет работать?

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

Для шифтинга надо спать только на спине?

Нет, в каждом методе есть свои особенности положения тела. В некоторых методах можно шифтить даже полусидя, положив под спину подушки.

Как написать сценарий: 23 шага, чтобы написать успешный сценарий

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

1. Найдите вдохновение:

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

  • Читайте отличные сценарии.
  • Слушайте музыку.
  • Перечислите и посмотрите 20 фильмов, которые вы хотели бы написать.
  • Написать план чужого фильма.
  • Посмотрите примеры сценариев: Образец 1, Образец 2 и Образец 3 (обзор фильма).

2. Прочтите о написании сценариев:

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

  • Спасите кота! Блейка Снайдера
  • Сценарий: основы написания сценариев Сид Филд
  • Сценарист кофе-брейка Пилар Алессандра
  • Рабочая тетрадь телесценариста Эллен Сэндлер
  • Продажа вашей истории за 60 секунд Майкл Хауге
  • Написание драматического телесериала Памелы Дуглас
  • Библия сценариста: полное руководство по написанию, форматированию и продаже сценария Дэвид Тротье
  • От сценария к экрану Линда Сегер
  • Голливудский стандарт: полное и авторитетное руководство по формату и стилю сценария Кристофера Райли
  • Написание отличных сценариев для кино и телевидения Дона Купер

3. Сделайте его необычным:

Найдите способы выделить свою работу среди других сценариев:

  • Использование уникальных элементов и необычный выбор в вашей истории
  • Использование вашей семьи, друзей, ошибок и достижений в качестве вдохновения для персонажей
  • Быть в курсе текущих событий и использовать их для информирования о темах и сообщениях вашей работы.
  • Читайте о любых темах, идеях или местах, чтобы лучше узнать себя, прежде чем начать писать.
  • Чтение скриптов и их анализ. Вы увидите, что эффективно, и сможете использовать это в своем сценарии. Чтобы проанализировать скрипт:
    1. Обратите внимание на эффективные элементы.
    2. Отслеживайте технические примечания, такие как действия и подзаголовки.
    3. Определите области, которые не работают.
    4. Просмотрите свой анализ на вынос.

4. Определите конфликт или тему, занимающую центральное место в вашей истории:

Подумайте о событиях, происходящих в мире вокруг вас, или об объединенных концепциях, которые вы хотели бы исследовать, в качестве вдохновения.

5. Выберите жанр фильма для своей истории:

Вы также можете комбинировать жанры фильмов, чтобы создать что-то уникальное.

6. Выберите настройку для своего фильма:

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

7. Создайте динамичного главного героя:

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

8. Создайте оппозиционного антагониста:

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

9. Напишите логлайн, обобщающий вашу идею:

Это краткое изложение из одного или двух предложений должно четко отражать основные идеи вашего сценария.

10. Создать сказочный мир:

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

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

11. Сделайте свою концепцию или историю более интересной:

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

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

12. Набросайте сценарий:

При создании плана сценария включите конкретные детали, связанные с:

  • Сюжетом : Определите основные сюжетные точки в истории.
  • Сцены: Обратите внимание на определенные сцены или потенциальные идеи для сцен.
  • Развитие персонажа : Повторите, как ваш главный герой попадет из пункта А в пункт Б.
  • Заключение: Знайте, чем закончится история.

13. Создайте интересных персонажей:

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

  • Оставят ли эти персонажи впечатление?
  • Волнуюсь ли я, когда пишу об этих персонажах?
  • Эти символы предсказуемы?
  • Виноваты ли их недостатки в том плохом, что с ними происходит?

14. Не ограничивайтесь традиционными чертами характера, такими как «верный» и «красивый».

Ищите необычные дескрипторы, такие как:

  • Без чувства юмора
  • Ретро
  • Одиночка

15. Отформатируйте сценарий:

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

  • Заголовок сцены: Это однострочное описание времени суток и местоположения сцены всегда пишется заглавными буквами.
  • Подзаголовок: Этот элемент помогает определить незначительные различия в сцене, например переход между двумя локациями.
  • Действие: Эти строки описывают события сцены в настоящем времени.
  • Символ: Имена должны быть указаны заглавными буквами при первом их представлении в действии и в приведенном выше диалоге.
  • Диалог: Это фраза персонажа.
  • В скобках: Эти дополнительные указания — это то, как персонаж произносит строку.
  • Добавочный номер: Это технические примечания, такие как указание на то, что фраза произносится за кадром.
  • Переход: Переходы - это указания для монтажеров фильма.
  • Shot: Используется для обозначения того, что точка обзора сцены сместилась.
  • Монтаж : Монтаж — это серия кадров, показывающих течение времени.
  • Хироны : Хироны указывают время и место сцены, обычно текстом поверх видео.
  • Lyrics: Если ваш сценарий включает тексты, вы можете добавить их вперемежку с диалогами или отметить общее настроение песни, включив саму песню отдельно.
  • Fade In: Fade in указан в самом начале скрипта.
  • Cut To: Вы должны использовать «cut to», чтобы указать изменение местоположения.
  • Конец акта: Используйте это в конце каждого акта, обычно для телесценария.
  • Затухание: Затухание указывает на конец сценария.

16. Создайте свой первый черновик:

Напишите первый черновик своего сценария, установив конкретные цели и сроки, написав заранее определенное количество страниц в день, убедившись, что ваши диалоги звучат естественно, и сохраняя ваш сценарий на уровне от 90 до 120 страниц.

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

17. Пересмотрите свой сценарий:

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

18. Поделитесь своим сценарием с другими:

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

19. Переписать:

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

20. Изменить:

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

21. Подготовьте сценарий к презентации:

Когда сценарий будет готов, подготовьте и переплетите его для презентации:

  1. Распечатайте титульный лист и сценарий на перфорированной бумаге с тремя отверстиями.
  2. Поместите титульный лист и сценарий в обложку сценария.
  3. Добавьте латунные застежки в верхние и нижние отверстия.
  4. Скользящие шайбы на задней стороне застежек.
  5. Забейте застежки плоско с помощью молотка для переплета скриптов.

22. Используйте программное обеспечение для форматирования сценария:

Использование программного обеспечения для форматирования сценария может сэкономить вам огромное количество времени при планировании и написании.

  • Для развития сюжета:
    • Драматика Про
    • Контур
    • Спасите кота!
    • Быстрая раскадровка
  • Для сценаристов:
    • Final DraftMovie
    • Волшебный сценарист
    • Селткс
    • StudioBinder
    • Писатель Дуэт

23. Окружите себя творчеством:

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

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

Как написать сценарий фильма, как профессиональные сценаристы

Что такое сценарий

Что именно определяет сценарий?

A сценарий фильма , также известный как сценарий — это документ объемом от 70 до 180 страниц. Большинство сценариев фильмов занимают около 110 страниц, но есть ряд факторов, влияющих на длину.

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

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

Что такое стандартный формат сценария?

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

Основы форматирования скрипта следующие:

  • Размер шрифта Courier, 12 пунктов
  • Поле 1,5 дюйма слева от страницы
  • Поле 1 дюйм справа от страницы
  •  1 дюйм справа от страницы верх и низ страницы
  • На каждой странице должно быть приблизительно 55 строк
  • Диалоговый блок начинается на 2,5 дюйма от левой стороны страницы стр.
  • Номера страниц располагаются в верхнем правом углу с отступом 0,5 дюйма от верхнего края страницы. Первая страница не нумеруется, после каждого номера ставится точка.

Программное обеспечение для написания сценариев StudioBinder выполняет все необходимое форматирование, чтобы вы могли сосредоточиться на творчестве. Ниже приведен пример отформатированного сценария:

Разбивка форматирования сценария в StudioBinder

Многие сценарии начинаются с перехода , который может включать ПОЯВЛЕНИЕ: или ЧЕРНЫЙ ЭКРАН . Некоторые размещают это в левом верхнем углу, другие — в правом верхнем углу страницы, где живет много переходов. Другие сценарии начинаются с заголовков сцен или даже подзаголовков изображений, которые они хотят загрузить в первую очередь.

ЗАГОЛОВОК СЦЕНЫ

Заголовок сцены помогает разделить физические пространства и дать читателю и съемочной группе представление о географии истории.

Вы либо выберете INT. для внутренних помещений или ВНЕШ. для наружных пространств. Затем описание настройки , а затем время суток .

Вот пример сценария:

Пример формата сценария в StudioBinder Программное обеспечение для написания сценариев: Заголовок сцены

В редких случаях сцена начинается внутри и выходит наружу или наоборот, и в этих ситуациях вы можете написать INT /ВНЕШН. или ВНЕШ/ВНУТР .

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

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

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

ПОДЗАГОЛОВОК

Часто авторы используют подзаголовки, чтобы показать изменение местоположения, не прерывая сцену, даже если сцена сместилась с ВНУТР. с по доб.

Вот пример скрипта:

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

Причина, по которой многие писатели делают это, состоит в том, чтобы избежать представления о том, что мы вступили в совершенно новую сцену, хотя вы всегда можете включить CONTINUOUS вместо 9.0028 ДЕНЬ или НОЧЬ , создав совершенно новый заголовок сцены.

Это вопрос личного стиля и ритма, а не производственных соображений.

ПЕРЕХОДЫ

В правом нижнем углу страницы вы будете размещать переходы, но в современном сценарии они используются все реже и реже. Переходы, которые, кажется, действительно выдержали испытание временем, это ВЫРЕЗАТЬ: и FADE OUT.

Вот пример сценария:

Пример форматирования сценария в программе StudioBinder Sciptwriting Software: Scene Transition

Вы также можете включить что-то вроде DISSOLVE TO: , но они используются все реже и реже, вероятно, по той же причине, по которой вы избегаете съемки с камеры.

ПРЕДСТАВЛЕНИЕ ПЕРСОНАЖЕЙ

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

Вот пример сценария:

Пример формата сценария в StudioBinder Программное обеспечение для написания сценариев: введение персонажа

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

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

ДЕЙСТВИЕ

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

Вот пример сценария:

Пример формата сценария в StudioBinder. Решение для написания сценариев: строки действий

Часто вы можете сделать свой сценарий более читабельным, убрав лишние местоимения и союзы. Большие звуки и важные объекты можно писать ЗАГЛАВНЫМИ БУКВАМИ, чтобы подчеркнуть их влияние на историю.

ДИАЛОГ

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

Пример формата сценария в бесплатном приложении StudioBinder для написания сценариев: Dialogue Lines

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

РАСШИРЕНИЯ

Это происходит, когда персонаж говорит что-то за кадром (ЗК) , или если диалог закадровый (ЗК) . Вы увидите расширения, когда персонаж заканчивает блок диалога, выполняет действие и говорит больше.

Вот пример сценария:

Пример формата сценария в веб-программном обеспечении для написания сценариев StudioBinder: Extensions

Это принимает форму продолжения (ПРОДОЛЖЕНИЕ). Профессиональное программное обеспечение для написания сценариев поможет вам в этом, но оно не сможет предсказать, когда вы хотите что-то сказать за кадром или за кадром.

СКОБКИ

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

Вот пример сценария:

Пример формата сценария в бесплатном программном обеспечении для написания сценариев StudioBinder: Скобки

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

КАДРЫ КАМЕРЫ

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

Вот пример сценария

Пример формата сценария в онлайн-программе для написания сценариев StudioBinder: Camera Shot

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

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

Используйте правильный шрифт сценария и поля

Шрифт сценария, используемый для написания сценария фильма, - Courier 12pt.

Courier используется в качестве стандартного шрифта сценария, поскольку он создает соотношение страницы к экрану 1:1. Где одна страница сценария соответствует одной минуте экранного времени, так что это та область, которую действительно не следует изменять.

Поля страницы для сценария профессионального фильма составляют 1 дюйм для верхнего, нижнего и правого полей. Левое поле составляет 1,5 дюйма для дырокола.

StudioBinder предоставляет совершенно БЕСПЛАТНУЮ и неограниченную программу для написания сценариев, поэтому вам не нужно беспокоиться о шрифтах и ​​полях сценария.

БЕСПЛАТНОЕ программное обеспечение StudioBinder для написания сценариев

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

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

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

Теперь… давайте поговорим о количестве страниц сценария.

формат сценария

Учитывайте количество страниц

Какой длины должен быть сценарий фильма?

Это сложный вопрос, потому что сценарии комедий обычно занимают около 90 страниц (1 час + 30 минут), а сценарии боевиков и драм — около 110 (1 час + 50 минут).

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

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

Если вы напишете отличный 80-страничный сценарий, у вас может получиться сценарий, который вызовет восторг как у съемочной группы, так и у зрителей с маленьким мочевым пузырем.

Что такое сценарий

Планирование фрагментов сценария и структуры сюжета

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

Совершенно верно... и именно поэтому многие фильмы — ксерокопии ксерокопий.

Так почему же это лучший способ создать сценарий, а также действительно полезный инструмент для написания сценариев?

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

Все ли сценаристы и режиссеры следуют ему в совершенстве? — №

Все ли сценаристы и режиссеры понимают структуру? - Да.

У вас есть Лист битов «Спасите кота» , Структура из трех актов , Путешествие героя , Круг истории — все это способы превратить вашу великую идею в связную историю, которая подражает человеческий опыт.

У всех нас есть взлеты и падения.

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

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

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

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

Как написать сценарий

Сколько времени нужно, чтобы написать сценарий?

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

Когда профессиональным сценаристам дается время на написание сценария, им предоставляется диапазон времени от 1 до 3 месяцев (30-90 дней).

Раньше я устанавливал свой личный темп письма на уровне 6-7 страниц за 8-часовой рабочий день, что примерно соответствует примерно 15 дням написания.

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

Короткий ответ: это должно занять около месяцев .

Некоторые сценарии я написал за 6 месяцев… другие за 2 недели.

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

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

Написание сценария фильма

Создание титульного листа сценария

Следующим шагом является создание титульного листа сценария. Это довольно интересная, хотя и короткая тема для обсуждения. Частично это связано с тем, что сценарист добавлял личную информацию на страницу.

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

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

Образец сценария

Другие важные примечания по сценарному мастерству

Существуют некоторые нюансы написания сценариев, которые могут показаться правильными, но на самом деле могут запутать или помешать физическому производству.

Одним из примеров является время суток в заголовке сцены.

Профессиональное программное обеспечение для сценариев предоставит вам около полдюжины вариантов, включая УТРО и ЗАКАТ . Это ироничный момент, когда сценаристы на самом деле вредят продуктам с правильным форматированием.

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

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

Даже если у вас есть персонаж, который поздно просыпается на работу, вам действительно не нужно использовать УТРО , потому что эта сцена, скорее всего, будет снята днем ​​или даже может быть снята в павильоне с искусственным освещением. Как насчет правил с линиями действий?

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

Но он же Тарантино… верно?

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

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

Скажите, если это звучит знакомо...

Вы, как правило, разбираетесь в форматировании сценария, но после прочтения сценариев популярных фильмов вы еще больше запутались.

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

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

Серьезно, два крика? Что это… 1950-е?

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

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

Впереди

Как стать сценаристом

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

Далее: Как стать сценаристом →

Как написать сценарий для видео [Шаблон + видео]

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

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

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

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

Что такое сценарий видео?

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

Даже самое простое видео будет лучше со сценарием. Создать видео сложно. Большинство видеопроектов включают в себя:

  • Освещение
  • Звук
  • Наборы
  • Актеры и съемочная группа
  • Оборудование

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

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

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

Бесплатный комплект

Стартовый пакет Ultimate Video Marketing

Расскажите нам немного о себе ниже, чтобы получить доступ сегодня:

Как написать сценарий видео

  1. Выберите свою целевую аудиторию.
  2. Установите цель для вашего сценария видео.
  3. Выберите главного героя для вашего видео.
  4. Создать бриф.
  5. Используйте свой бриф, чтобы написать план.
  6. Начните писать свой сценарий, раздел за разделом.
  7. Отредактируйте сценарий видео.
  8. Проведите словесный прогон за кадром.

1. Выберите целевую аудиторию.

Любой маркетинговый проект лучше с правильным покупателем. Особенно это касается видео.

Поскольку видео часто требует больше времени и инвестиций, чем интернет-реклама или блог, важно, чтобы ваше видео обращалось к определенной аудитории.

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

  • Продолжительность и формат вашего видео
  • Где вы размещаете свое видео
  • Декорации, костюмы и освещение

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

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

2. Поставьте цель для своего сценария видео.

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

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

Зачем ты снимаешь это видео?

Хотите рассказать людям о своем продукте? Вы вводите новую структуру ценообразования? Вы пытаетесь выйти в новую нишу?

Если вы не уверены в своей цели, подумайте о проблеме, которую вы надеетесь решить с помощью этого видео.

Например, у вас проблемы с конверсиями для нового продукта.

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

Не приступайте к сценарию видео, не определив ни одной цели.

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

3. Выберите главного героя для вашего видео.

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

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

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

Но если нет, прежде чем приступить к написанию сценария видео, решите, кто будет в центре внимания вашего видео.

Если вы не знаете, кто ваш главный герой, вернитесь к своей цели и целевой аудитории. Подумайте о том, от кого ваш покупатель хочет услышать, когда он достигнет этого этапа своего пути.

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

Как только вы определились со своим главным героем, вы можете решить, как он относится к вашему продукту. Хотите поговорить об их предыстории? Собираетесь ли вы рассказать об их конкретном опыте и о том, как ваш продукт им помог?

4. Создайте бриф.

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

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

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

Затем вы можете двигаться вперед.

Сосредоточьтесь на своих целях, теме и выводах в своем брифе.

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

  • На какую тему видео? (Чем конкретнее, тем лучше. Например, если вы занимаетесь малярными работами, вы можете выбрать такую ​​тему, как «покупка подходящей кисти»).
  • Каковы ключевые выводы видео? Чему зрители должны научиться, увидев его?
  • Каков наш призыв к действию? Что мы хотим, чтобы зрители сделали после того, как закончили просмотр видео?

Вы можете легко создать бриф в Документах Google, чтобы он служил живым, дышащим шаблоном, который вы со временем пересматриваете, и над которым может сотрудничать ваша команда.

5. Используйте свой бриф, чтобы написать план.

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

Сценарий вашего видео основан на блоге?

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

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

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

Пишете оригинальный сценарий видео?

Начните с хорошо структурированного плана. Многие видеосценарии состоят из трех частей:

  • Введение и зацепка для привлечения зрителей к вашему видео
  • Возникает проблема, проблема или вопрос
  • Заключение и решение проблемы, включая призыв к действию

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

Создавая контур, подумайте о том, где происходят естественные переходы.

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

  • Придумать идею
  • Исследование рынка
  • Разработка нового продукта
  • Производство тестового продукта
  • Редактирование продукта для серийного производства
  • Аудиторное тестирование
  • Стратегии маркетинга и продаж
  • Запуск продукта

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

6. Начните писать сценарий раздел за разделом.

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

Пишите в диалоговом режиме.

Написание сценария — это не то же самое, что написание статьи для колледжа или отчета о маркетинговых исследованиях. Вы хотите написать сценарий, как вы хотите, чтобы объект видео говорил.

Сказать "Я собираюсь снять видео после прочтения этого сообщения в блоге" на камеру будет читаться намного лучше, чем "Я собираюсь создать видео после прочтения этого сообщения в блоге". Делайте предложения короткими и четкими и старайтесь избегать сложных предложений.

Сделать это тщательно.

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

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

Пишите для аудитории и платформы.

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

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

Скриптировать каждые
отдельных слов.

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

Такой подход затрудняет передачу сообщения как можно более четко и лаконично и обычно приводит к большому количеству повторов.

Итак, мы предлагаем заскриптовать каждое слово до последнего. Это позволит вам быть организованным во время съемок и сэкономит вам массу времени позже.

7. Отредактируйте сценарий видео.

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

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

Дайте себе передышку.

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

Проверить наличие переходов.

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

Вырезать лишнее.

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

8. Проведите словесный прогон за кадром.

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

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

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

Посмотрите это видео с забавным примером чтения таблицы:

Шаблон сценария видео

Написать сценарий с нуля намного сложнее, чем начать с примера.

Этот стартовый пакет для видеомаркетинга включает бесплатный шаблон видеосценария. Взгляните на это видео HubSpot ниже.

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

Загрузите шаблон и начните работу сегодня.

Пример видеосценария

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

  • Диалог по сценам
  • Время выполнения
  • Эффекты и звуковые сигналы

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

Сценарий с одной колонкой:

Сценарий с двумя колонками

Сценарий с четырьмя колонками:

Источник изображения

  • Будьте лаконичны.
  • Пишите короткими абзацами.
  • Поддержите любой B-ролик соответствующими выносками в своем основном повествовании.
  • Используйте графику, чтобы ваше видео выделялось.
  • Добавьте разнообразия в свой сценарий.
  • Спланируйте перепрофилирование вашего видеоконтента.
  • 1. Создайте сильное начало.

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

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

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

    «Привет! Я [имя рассказчика] из [компании], и в следующем [длина видео] минут, я научу вас, как повысить рейтинг вашего блога в Google».

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

    2. Будьте лаконичны.

    Когда дело доходит до маркетинга, более короткие видеоролики, как правило, более привлекательны, чем более длинные. На самом деле, согласно опросу Wyzowl, 68% людей предпочли бы узнавать о новых продуктах и ​​услугах из «короткого видео».

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

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

    3. Пишите короткими абзацами.

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

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

    Итак, постарайтесь, чтобы абзацы не превышали 3-4 предложений.

    4. Поддержите любой B-ролик соответствующими выносками в своем основном повествовании.

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

    Таким образом, любой, кто читает это, знает, как представить эти вещи зрителю.

    Что такое B-ролл?

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

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

    Вместо этого ваш сценарий видео может выглядеть так: «на графике, который вы видите здесь» — пока вы показываете график на экране.

    Дайте подсказки своим персонажам или рассказчику.

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

    5. Используйте графику, чтобы выделить видео.

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

    Варианты графики, которые вы можете добавить к своим видео, включают:

    • Фотографии
    • Анимации
    • Инфографика
    • Движущийся текст

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

    6. Добавьте разнообразия в свой сценарий.

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

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

    Создавайте истории своих персонажей.

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

    Используйте противоположности.

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

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

    Вдохновитесь.

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

    Думай визуально.

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

    7. Планируйте перепрофилирование вашего видеоконтента.

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

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