Создание и запуск скрипта
Часть раздела Основы путешествия по Terminal на Coddy — урок 67 из 82.
Теперь, когда вы понимаете, что такое shell-скрипт, давайте создадим его и запустим. Этот процесс включает в себя три этапа: создание файла, придание ему прав на выполнение и сам запуск.
Сначала создайте новый файл с расширением .sh. Вы можете использовать echo с перенаправлением для записи shebang и команд:
echo '#!/bin/bash' > greet.sh
echo 'echo "Hello, World!"' >> greet.shПрежде чем вы сможете запустить скрипт, вам необходимо предоставить ему разрешение на выполнение. По умолчанию у новых файлов нет этого разрешения. Используйте chmod, чтобы добавить его:
chmod +x greet.shТеперь вы можете запустить скрипт, указав путь к нему. Для скрипта в текущем каталоге используйте ./ перед именем файла:
./greet.shЭто выводит Hello, World!. Префикс ./ указывает оболочке искать в текущем каталоге, а не искать в PATH. Без него оболочка не найдет ваш скрипт.
Вы также можете запустить скрипт без прав на выполнение, вызвав интерпретатор напрямую:
bash greet.shЭто явно указывает Bash интерпретировать файл, обходя необходимость в правах на выполнение.
Задание
ЛегкоСоздайте shell-скрипт с именем welcome.sh, который при выполнении выводит Welcome to scripting!.
Выполните следующие шаги:
- Создайте файл скрипта со строкой shebang (
#!/bin/bash) - Добавьте команду
echo, которая выводит приветственное сообщение - Сделайте скрипт исполняемым с помощью
chmod - Запустите скрипт, используя
./
Ваш вывод должен быть следующим:
Welcome to scripting!Подсказка: Используйте
echo '#!/bin/bash' > welcome.sh, чтобы создать файл с shebang, затемecho 'echo "Welcome to scripting!"' >> welcome.sh, чтобы добавить команду. Сделайте его исполняемым с помощьюchmod +x welcome.sh, а затем запустите его с помощью./welcome.sh
Шпаргалка
Чтобы создать и запустить shell-скрипт, выполните следующие три шага:
1. Создайте файл скрипта
Создайте файл с расширением .sh и добавьте строку shebang и команды:
echo '#!/bin/bash' > script.sh
echo 'echo "Hello, World!"' >> script.sh2. Сделайте его исполняемым
Используйте chmod +x, чтобы добавить разрешение на выполнение:
chmod +x script.sh3. Запустите скрипт
Выполните скрипт, используя ./ для указания текущего каталога:
./script.shКроме того, вы можете запустить скрипт без прав на выполнение, вызвав интерпретатор напрямую:
bash script.shПопробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога13Основы скриптинга оболочки
Что такое скрипт оболочкиСоздание и запуск скриптаПеременные в скриптахПользовательский ввод в скриптахОператор ifЦикл forЦикл whileИтог - Угадай число2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данных