Основы работы со скриптами: как написать первый скрипт

Основы работы со скриптами: как написать первый скрипт Полезное

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

В этой статье разберу, чем скрипт отличается от «большой» программы, какие скриптовые языки брать под конкретную задачу, и вместе с вами напишу первые рабочие скрипты на 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 работает одинаково на всех системах, поэтому для кросс-платформенных задач он удобнее всего.

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

OTUS Журнал
Скидка 5% 14-20 сентября на курсы (popup)