Найти тему
ИТ разнообразно

Введение в создание сценариев оболочки (День 8). Часть 2.

Оглавление

Изучаем DevOps 120 дней с нуля

Различные реализации оболочки

Первая строка файла сценария оболочки начинается с "шебанг" (#!).

"#" в нотной записи называется "диез".

"!" также называется "восклицательный знак".

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

#!/bin/bash

или

#!/usr/bin/bash

зависит от твоего PATH.

Добавление комментариев: любой текст после "#" считается комментарием.

Чтобы узнать, какая оболочка в данный момент активна и каков её путь, введите приведённую ниже команду:

$ ps | grep $$
1286 pts/1 00:00:00 bash

Этот ответ показывает, что вы используете оболочку типа bash.

Затем узнаём полный путь к интерпретатору оболочки.

$ which bash
/usr/bin/bash

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

Все файлы оболочки имеют одно и то же расширение ".sh".

Возьмите на заметку

file.sh ==== shell-скрипт
file.py ==== Python
file.js ==== JavaScript

Здесь мы будем часто использовать наш текстовый редактор. Помните "редактор vim и команду Echo", о которых мы говорили при работе с командами Linux, мы будем часто их использовать.

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

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

vim class.sh

Теперь давайте напечатаем "Hello World" с помощью редактора vim и команды echo.

#!/usr/bin/bash
echo "hello world"
~
~

./имя-файла используем для выполнения скрипта:

./class.sh
-bash: ./class.sh: Permission denied

Если вы заметили, я получил ошибку bash, которая говорит: "ДОСТУП ЗАПРЕЩЁН". Это потому, что вновь созданные файлы не могут быть выполнены. Так что же нам делать? Мы предоставим пользователю доступ для выполнения файла с помощью команды sudo chmod, которую мы изучали несколько дней назад. Теперь перейдем к выполнению скрипта.

$ sudo chmod u+x class.sh
$ ./class.sh
hello world

Да, мы успешно вывели на экран фразу "Hello World". Действительно просто, не так ли?

День 8-й изучения DevOps. Не лёгкая задача, но я решился на сложное. Если вы со мной, не сдавайтесь. День 9 загружается скоро...

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

Автор оригинала: Kenneth Aigbuza.