Запускаем скрипты в Linux как профи: полный гид для новичков
Вы когда-нибудь с завистью смотрели, как опытные пользователи одной командой в терминале запускают сложные операции? Секрет их силы — в скриптах. Это не магия, а ваш следующий шаг к эффективной работе в Linux.
Представьте: вместо того чтобы каждый раз вводить десяток команд, вы собираете их в один файл и запускаете одной строкой. Это экономит время, автоматизирует рутину и открывает новые возможности.
Но как заставить систему понять, что этот текстовый файл — программа для выполнения? Всё упирается в один специальный атрибут — исполняемость. Мы наглядно разберем, как он работает и почему это ключевой момент.
Вы узнаете два основных способа запуска: как самостоятельную программу и через указание интерпретатора. Мы покажем, почему команда `./script.sh` не работает без предварительных действий и как это исправить.
Где должен находиться файл, чтобы система его нашла без указания полного пути? Ответ кроется в загадочной переменной PATH, и мы раскроем ее секреты.
В статье вас ждут конкретные примеры скриптов на bash и даже на PHP, а также инструкция по их запуску в фоновом режиме. Всё это — без лишней теории, только практические шаги.
Готовы превратить набор команд в мощный инструмент? Переходите к полной статье и откройте для себя мир автоматизации в Linux!
Вся сила Linux в использовании терминала. Это такая командная оболочка, где вы можете выполнять различные команды, которые будут быстро и эффективно выполнять различные действия. Ну впрочем, вы наверное это уже знаете. Для Linux было создано множество скриптов, которые выполняются в различных командных оболочках. Это очень удобно, вы просто объединяете несколько команд, которые выполняют определенное действие, а затем выполняете их одной командой или даже с помощью ярлыка.
Но у новичков может возникнуть вопрос - как запустить скрипт в Linux, что для этого нужно сделать, что будет происходить и какие команды нужно выполнить. Но сначала нужно рассмотреть как работают скрипты и что такое исполняемость.
Содержание статьи
Как работают скрипты
В Linux почти не используется расширение файла для определения его типа на системном уровне. Это могут делать файловые менеджеры и то не всегда. Вместо этого, используются сигнатуры начала файла и специальные флаги. Система считает исполняемыми только те файлы, которым присвоен атрибут исполняемости.
Теперь о том, как работают скрипты. Это обычные файлы, которые содержат текст. Но если для них установлен атрибут исполняемости, то для их открытия используется специальная программа - интерпретатор, например, оболочка bash. А уже интерпретатор читает последовательно строку за строкой и выполняет все команды, которые содержатся в файле. У нас есть несколько способов выполнить запуск скрипта linux. Мы можем запустить его как любую другую программу через терминал или же запустить оболочку и сообщить ей какой файл нужно выполнять. В этом случае не нужно даже флага исполняемости.
Запуск скрипта sh в Linux
Сначала рассмотрим пример небольшого sh скрипта:
#!/bin/bash
echo "Hello world"

Вторая строка - это действие, которое выполняет скрипт, но нас больше всего интересует первая - это оболочка, с помощью которого его нужно выполнить. Это может быть не только /bin/bash, но и /bin/sh, и даже /usr/bin/python или /usr/bin/php. Также часто встречается ситуация, что путь к исполняемому файлу оболочки получают с помощью утилиты env: /usr/bin/env php и так далее. Чтобы выполнить скрипт в указанной оболочке, нужно установить для него флаг исполняемости:
chmod ugo+x script.sh


Мы разрешаем выполнять запуск sh linux всем категориям пользователей - владельцу, группе файла и остальным. Следующий важный момент - это то место где находится скрипт, если вы просто наберете script.sh, то поиск будет выполнен только глобально, в каталогах, которые записаны в переменную PATH и даже если вы находитесь сейчас в той папке где находится скрипт, то он не будет найден. К нему нужно указывать полный путь, например, для той же текущей папки. Запуск скрипта sh в linux:
./script.sh

Или полный путь от корня:
/home/user/script.sh

Если вы не хотите писать полный путь к скрипту, это можно сделать, достаточно переместить скрипт в одну из папок, которые указаны в переменной PATH. Одна из них, которая предназначена для ручной установки программ - /usr/local/bin.
cp script.sh /usr/local/bin/script.sh
Теперь вы можете выполнить:
script.sh

Это был первый способ вызвать скрипт, но есть еще один - мы можем запустить оболочку и сразу же передать ей скрипт, который нужно выполнить. Вы могли редко видеть такой способ с bash, но он довольно часто используется для скриптов php или python. Запустим так наш скрипт:
bash script.sh

А если нам нужно запустить скрипт на php, то выполните:
php script.php
Вот так все просто здесь работает. Так можно запустить скрипт как фоновый процесс, используйте символ &:
script.sh &
Даже запустить процесс linux не так сложно.
Выводы
Как видите, запуск скрипта sh в linux - это довольно простая задача, даже если вы еще плохо знакомы с терминалом. Существует действительно много скриптов и некоторые из них вам возможно придется выполнять. Если у вас остались вопросы, спрашивайте в комментариях!