Скрипт — это небольшая программа на скриптовом (интерпретируемом) языке, которую запускает интерпретатор, обычно без отдельной сборки в исполняемый файл. Скрипты пишут, чтобы автоматизировать рутину: обработать файлы, собрать данные, запустить цепочку команд по порядку.
Содержание
В этой статье разберу, чем скрипт отличается от «большой» программы, какие скриптовые языки брать под конкретную задачу, и вместе с вами напишу первые рабочие скрипты на Bash и Python — с разбором каждой строки, способов запуска и типичных ошибок новичка.
Чем скрипт отличается от программы
Граница между «скриптом» и «программой» условная, но на практике скриптом называют код, который выполняется интерпретатором сразу из исходника, решает узкую вспомогательную задачу и правится без пересборки проекта.
Компилируемую программу перед запуском сначала собирают в бинарный файл, и только потом запускают. Скрипт же интерпретатор читает и исполняет на лету. Отсюда и разница в применении.
| Признак | Скриптовые языки | Компилируемые языки |
|---|---|---|
| Запуск | интерпретатор читает исходник и сразу исполняет | сборка в бинарник, затем запуск |
| Примеры | Python, Bash, JavaScript, PowerShell | C, C++, Go, Rust |
| Скорость разработки | высокая: правка -> сразу запуск | ниже: нужна пересборка |
| Скорость выполнения | обычно ниже | обычно выше |
| Типичная задача | автоматизация, склейка инструментов | системы, где важна производительность |
Деление условное, и это важно помнить. Python перед выполнением компилирует код в байт-код, а язык C при желании можно запускать интерпретатором. Значение имеет не «природа» языка, а то, как вы его применяете: один и тот же JavaScript работает и как язык веб-страниц в браузере, и как серверная платформа Node.js.
Какие бывают скриптовые языки и что выбрать
Выбирать язык проще не по списку, а по задаче, которую вы решаете.
| Задача | Что взять | Почему |
|---|---|---|
| Автоматизация в Linux и macOS, запуск команд | Bash | встроен в систему, короткий синтаксис для файлов и процессов |
| Автоматизация в Windows | PowerShell | штатная оболочка Windows, работает с объектами |
| Обработка данных, парсинг, скрипты «на все случаи» | Python | простой синтаксис, большая стандартная библиотека |
| Скрипты в браузере и на сервере | JavaScript (Node.js) | браузер исполняет его напрямую, а на сервере тот же язык дает Node.js |
| Встроенные скрипты в играх и приложениях | Lua | легкий, легко встраивается в другую программу |
Начинающему разумно освоить связку Bash плюс Python: Bash — чтобы управлять системой и запускать инструменты, Python — чтобы писать логику посложнее и обрабатывать данные.
Скриптовые языки — зрелые инструменты, а не новинки. JavaScript создан в компании Netscape в 1995 году, а с 1997 стандартизирован как ECMAScript. Python появился в 1991 году, Bash — в 1989 как часть проекта GNU.
Первый скрипт на Bash
Начнем с целого рабочего примера, который можно скопировать и запустить. Он выводит текст и по очереди перебирает список файлов.
#!/bin/bash
# hello.sh - первый скрипт: выводит текст и перебирает список
echo "Запуск скрипта"
for file in config.txt data.csv report.pdf
do
echo "Обрабатываю: $file"
done
echo "Скрипт завершен"
В консоли появится ровно такой вывод:
Запуск скрипта
Обрабатываю: config.txt
Обрабатываю: data.csv
Обрабатываю: report.pdf
Скрипт завершен
Теперь разбор по строкам:
#!/bin/bash— шебанг (shebang). Указывает, каким интерпретатором запускать файл. Ставится первой строкой.- строка с
#— комментарий, интерпретатор его игнорирует. echo— печатает текст в консоль.for file in ... do ... done— цикл: переменнаяfileпо очереди принимает каждое значение из списка.$file— подстановка значения переменной в строку.
Как запустить скрипт
Сохраните код в файл hello.sh и запустите его командой bash hello.sh — это самый простой способ для новичка, права менять не нужно.
Второй способ — сделать файл исполняемым. Дайте ему право на выполнение командой chmod +x hello.sh, после чего запускайте коротко: ./hello.sh. Шебанг в первой строке подскажет системе, что файл нужно исполнить именно через Bash.
Скрипт на Python запускается аналогично: сохраняете код в файл script.py и вызываете python script.py (в некоторых системах команда называется python3).
Первый скрипт на Python: автоматизация
Скрипты чаще всего пишут ради автоматизации. Типичный пример — массовое переименование файлов по правилу. Ниже готовый пример: он добавляет к каждому имени префикс с годом. Чтобы вывод был предсказуемым, я работаю со списком имен и печатаю результат.
# rename.py - добавляем ко всем именам префикс с годом
files = ["otchet.txt", "dannye.csv", "kartinka.png"]
for name in files:
new_name = "2026_" + name
print(f"{name} -> {new_name}")
Вывод:
otchet.txt -> 2026_otchet.txt
dannye.csv -> 2026_dannye.csv
kartinka.png -> 2026_kartinka.png
Здесь я только печатаю новые имена, чтобы показать логику. Чтобы реально переименовать файлы на диске, добавьте import os и вызов os.rename(name, new_name) внутри цикла. Но сначала запустите скрипт с print и убедитесь, что имена формируются верно: массовое переименование трудно откатить.
Частые ошибки новичка
Ошибки в скриптах предсказуемы. Разберу две самые частые тройкой: неверный код, его фактический результат и исправление.
Ошибка 1 (Bash): пробелы вокруг знака = при присваивании.
count = 5
echo "Значение: $count"
Bash воспримет count как команду и выдаст ошибку вида count: command not found, а переменная останется пустой:
Значение:
Точный текст ошибки зависит от оболочки и системы. Исправление — убрать пробелы вокруг =:
count=5
echo "Значение: $count"
Значение: 5
Ошибка 2 (Python): сложение строк вместо чисел. Данные из файлов и аргументов приходят строками, и знак + их склеивает.
a = "10"
b = "5"
print(a + b)
Результат — 105, а не сумма: две строки просто соединились. Чтобы сложить как числа, приведите их через int:
a = "10"
b = "5"
print(int(a) + int(b))
Результат — 15.
Выводы
- Скрипт — небольшая программа на интерпретируемом языке, которую пишут ради автоматизации.
- Деление на скриптовые и компилируемые языки условное: важнее, как вы применяете язык, а не его «природа».
- Новичку достаточно связки Bash (управление системой) и Python (логика и данные).
- Первый скрипт — это несколько строк: шебанг или интерпретатор, вывод, цикл, переменные.
- Частые ошибки типовые: пробелы вокруг
=в Bash и сложение строк вместо чисел в Python.
Где применяется и как учиться дальше
Скрипты — повседневный инструмент разработчика, тестировщика, аналитика и DevOps-инженера: автоматизация сборок, обработка логов, разовые выгрузки данных, резервное копирование, рутинные проверки. Один короткий скрипт экономит часы ручной работы, а набор скриптов постепенно превращается в личный набор инструментов.
Освойте тему на практике
Освоить это системно, с практикой и обратной связью по коду, удобнее на курсе. Хорошая точка входа — базовый Python, на котором пишут и простые скрипты, и полноценные программы: Python-разработчик с нуля. А чтобы посмотреть формат занятий и разобрать тему вживую с преподавателем, загляните на открытые уроки и вебинары Otus.
Смежные темы: Макросы: описание и приложения для них, ls в Linux: описание и примеры использования, Текущая дата и время в Python.
FAQ
Нужно ли уметь программировать, чтобы писать скрипты?
Базовые конструкции знать нужно: переменные, циклы, условия. Но порог входа низкий — рабочий скрипт из нескольких строк новички пишут уже в первую неделю обучения.
На каком языке писать скрипты под Windows?
Штатная оболочка Windows — PowerShell. Bash доступен через WSL или Git Bash. Python работает одинаково на всех системах, поэтому для кросс-платформенных задач он удобнее всего.
Скрипт и макрос — это одно и то же?
Нет. Макрос обычно записывает и повторяет действия внутри конкретной программы, например в офисном пакете, а скрипт — самостоятельный файл, который запускает интерпретатор операционной системы.



