Shell, Bash и сценарии: все о сценариях оболочки.

В этой новой возможности (Запись № 8) на «Изучение сценариев оболочки» мы сосредоточимся больше на теории, чем на практике. то есть мы не будем устанавливать или изучать код или устанавливать конкретное программное обеспечение (пакет), но мы углубимся в то, что такое мир Скрипты оболочки Собственно говоря, через ответы на небольшие, но прямые вопросы, которые показаны ниже, чтобы прояснить многое из того, чему учили, что не относится непосредственно к внутреннему запрограммированному коду:

Скрипты оболочки

Что такое оболочка в операционной системе GNU / Linux?

Оболочка, что в переводе с испанского означает КОНЧА (оболочка, крышка, защита). Применяемый этот термин в операционных системах относится к интерпретатору команд операционной системы. В общем, это высокопроизводительный текстовый интерфейс, представленный в виде Терминала (Консоли) и используемый в основном для 3 важных рабочих областей:

1.- Управление ОС,
2.- Запускать приложения и взаимодействовать с ними, и
3.- Служить базовой средой программирования.

Многие ТАК, GNU / Linux ими по-прежнему более эффективно управлять путем редактирования файлов конфигурации через Терминал. Как правило, они находятся на пути назначения: «/и т.д", и в определенных каталогах для каждого приложения. Например, программа Лило (что означает Linux Loader) настраивается путем редактирования текстового файла, расположенного и называемого "/Etc/lilo/lilo.conf". В случае программ (приложений) они запускаются (выполняются / активируются) путем записи имени исполняемого файла, если он находится в пути (путь по умолчанию) для всех исполняемых файлов, как обычно "/ Usr / bin" , или введя имя исполняемого файла, которому предшествует: ./, из каталога, в котором они расположены.

Все это хорошо известно любому пользователю Shell. Однако не так хорошо известны и оценены его возможности как среды программирования. Скрипты (программы), созданные в Shell, компилировать не нужно. Оболочка интерпретирует их построчно. Поэтому они известны или называются сценариями оболочки и могут варьироваться от простых команд до сложных серий инструкций для запуска самой ОС. В общем, у них довольно чистый синтаксис (конструкция, порядок) (очевидно), что делает их хорошей отправной точкой для начала работы в мире программирования.

Что такое сценарии оболочки?

Это техника (умение / ловкость) проектирования и создания скрипта (файла автоматизации задач) с использованием оболочки (предпочтительно) операционной системы или текстового редактора (графического или терминального). Это тип языка программирования, который обычно интерпретируется. То есть, хотя большинство программ компилируются (кодируются), поскольку они постоянно преобразуются в определенный (специальный) код, прежде чем они могут быть выполнены (процесс компиляции), сценарий оболочки остается в исходной форме (его код текстовый источник) и интерпретируются команда за командой каждый раз при их выполнении. Хотя возможно, что скрипты тоже можно скомпилировать, хотя это не всегда.

Каковы характеристики программ, основанных на программировании с использованием сценариев оболочки?

1.- Их легче писать (программировать), но они требуют более высокой стоимости обработки при выполнении.

2.- Они используют интерпретаторы вместо компиляторов для запуска

3.- У них есть коммуникационные отношения с компонентами, написанными на других языках программирования.

4.- Файлы, которые их содержат, хранятся в виде простого текста.

5.- Окончательный дизайн (код) обычно меньше, чем то, что было бы эквивалентом на скомпилированном языке программирования.

Какие типы языков наиболее популярны при написании сценариев оболочки?

1.- Язык управления задачами и оболочкой:

а) cmd.exe (Windows NT, Windows CE, OS / 2),
б) COMMAND.COM (DOS, Windows 9x),
в) csh, Bash, AppleScript, sh,
г) JScript через Windows Script Host,
e) VBScript через Windows Script Host,
е) REXX и многие другие.

2.- Сценарии графического интерфейса пользователя (языки макросов):

а) AutoHotkey,
б) AutoIt,
в) Ожидайте,
г) Автоматор и другие.

3.- Язык сценариев конкретных приложений:

а) ActionScript во Flash,
б) MATLAB,
в) скрипт mIRC,
г) QuakeC и другие.

4.- Веб-программирование (для динамических страниц):

а) На стороне сервера:

- PHP,
- ASP (активные серверные страницы),
- JavaServer Pages,
- Холодный синтез,
- IPTSCRAE,
- Лассо,
- Скрипт MIVA,
- SMX,
- XSLT и другие.

б) На стороне клиента:

- JavaScript,
- JScript,
- VBScript,
- Tcl и другие.

5.- Языки обработки текста:

- AWK,
- Perl,
- Жажда,
- XSLT,
- Баш и другие.

6.- Динамические языки общего назначения:

- APL,
- Бу,
- Дилан,
- Ферит,
- Отличный,
- IO,
- Лисп,
- Lua,
- МАМПЫ (М),
- NewLISP,
- Нува,
- Perl,
- PHP,
- Python,
- Рубин,
- Схема,
- Болтовня,
- SuperCard,
- Tcl,
- Революция и другие.

Что такое Bash в GNU / Linux?

Это компьютерная программа, предназначенная для интерпретации приказов. Он основан на Оболочка Unix и совместим с POSIX. Он был написан для проекта GNU и является оболочкой по умолчанию для большинства дистрибутивов Linux.

Что такое сценарий оболочки в GNU / Linux?

Скрипты оболочки они чрезвычайно полезны. Хорошая идея - написать те потребности, которые у нас есть, а затем отредактировать сценарии, которые выполняют эту работу за нас. Теперь пришло время спросить, что же такое сценарий. Это текстовый файл, содержащий серию команд оболочки, которые система выполняет упорядоченным образом, сверху вниз. Чтобы редактировать их, вам понадобится только текстовый редактор, такой как Emacs, Vi, Nano, среди многих существующих. Они сохраняются с расширением «.sh» (или без него, в некоторых случаях) и запускаются из командной консоли с помощью команды: sh script name.sh. Скрипты ведут себя так же, как команды оболочки.

Подход к обучению, который я лично использую для «Изучение сценариев оболочки» Это очень практично и прямо, то есть изучить полностью функциональный сценарий, разложить его, изучить предложение за предложением, строку за строкой, команду за командой, переменную за переменной, пока вы не поймете, как каждый элемент работает отдельно и как он участвует в коде. генеральный. Это вроде Обратный инжиниринг или реинжиниринг программного обеспечения. Все это делается с целью присвоения знаний, их улучшения (оптимизации) и совместного использования для общей выгоды и лучшего администрирования и оптимизации бесплатных операционных систем.

Как он запускается и работает в оболочке GNU / Linux?

Первый шаг в работе с оболочкой - запуск оболочки. То, что кажется трюизмом, имеет свою причину. В некоторых дистрибутивах GNU / Linux, ориентированных на конечного пользователя, оболочка довольно скрыта. Обычно это называется: Konsole, Terminal, X Terminal или что-то подобное. Другой вариант - использовать виртуальную консоль. Использование: Ctrl + Alt + f1, или f2, или f3 до f7 или f8, в зависимости от используемого вами дистрибутива GNU / Linux. Наиболее используемой оболочкой в ​​GNU / Linux является Bash, хотя есть и другие, например ksh или C Shell. В моем случае, особенно для моих публикаций, я использую Bash Shell.

Учитывая сценарий, созданный в Bash Shell, называемый hello_world.sh можно объяснить следующее:

Содержание:

#! / Bin / Баш
эхо привет мир

Сломать:

Первая строка сценария
#! / Bin / Баш

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

Вторая строка сценария
эхо привет мир

Выполните команду echo с аргументами Hello World, чтобы они отображались на экране.

выполнение: Мы можем запустить скрипт двумя способами

Вызов интерпретатора для запуска скрипта:
# bash hello_world.sh

Его также можно запустить как:
# sh hello_world.sh

Но поскольку ваш правильный Shell не вызывается, он может работать наполовину. В идеале оболочка, вызываемая в первой строке, - это та, которая используется для ее выполнения.

Вы также можете запустить сценарий напрямую следующим образом:
# ./hello_world.sh

Примечание: ./ означает запуск из текущего каталога.

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

В Интернете есть много хороших ссылок на эту тему, но я оставляю вам это небольшое руководство, расположенное прямо здесь, по адресу DesdeLinux.net И этот другой Внешнее руководство.

До следующего поста!


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   d4ny сказал

    Lilo .. Linux Loader .. остальное очень хорошая инфа .. спасибо .. salu2 d4ny.-

  2.   Инженер Хосе Альберт сказал

    Приветствую всех, кто следит за онлайн-курсом «Изучение сценариев оболочки», скоро мы продолжим работу с другими базовыми сценариями, чтобы и дальше усваивать знания и распространять их среди всех.

    Надеюсь, вы следите за обновлениями, потому что скоро я начну с более сложных кодов, но представленных таким образом, чтобы визуально понятно, несмотря на его сложность.

    Помните, что с помощью сценариев оболочки вы можете делать много сложных кроссплатформенных вещей (различных дистрибутивов), используя очень маленькие файлы. Я оставлю вам этот небольшой скринкаст того, чему я вас скоро научу, для тех, кто продолжит смотреть курс, и это всего лишь 50 КБ обещает многое! И это только половина того, что можно сделать с помощью сценариев оболочки.

    LPI-SB8 Test ScreenCast (ПОСЛЕ УСТАНОВКИ LINUX - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adecuación-audiovisual_2016.sh / 43 КБ)

    См. Скринкаст: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    Альберто Кардона сказал

      Здравствуйте, ваш вклад невероятен, большое вам спасибо !!
      Я немного сомневаюсь, могу ли я запрограммировать компилятор с помощью bash?
      Или хотя бы лексический анализатор?
      есть эта сила?

  3.   Инженер Хосе Альберт сказал

    Приветствую всех, кто следит за онлайн-курсом «Изучение сценариев оболочки», скоро мы продолжим работу с другими базовыми сценариями, чтобы и дальше усваивать знания и распространять их среди всех. Я надеюсь, вы следите за обновлениями, потому что скоро я начну с более сложных кодов, но представленных таким образом, чтобы визуально понятно, несмотря на его сложность.

    Помните, что с помощью сценариев оболочки вы можете делать много сложных кроссплатформенных вещей (различных дистрибутивов), используя очень маленькие файлы. Я оставлю вам этот небольшой скринкаст того, чему я вас скоро научу, для тех, кто продолжит смотреть курс, и это всего лишь 50 КБ обещает многое! И это только половина того, что можно сделать с помощью сценариев оболочки.

    LPI-SB8 Test ScreenCast (ПОСЛЕ УСТАНОВКИ LINUX - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adecuación-audiovisual_2016.sh / 43 КБ)

    См. Скринкаст: https://www.youtube.com/watch?v=cWpVQcbgCyY

  4.   Альберто сказал

    Привет, Хосе,
    Сначала спасибо за то, что поделились своими знаниями. Ваши статьи очень интересны.

    Две вещи, я думаю, очень важно использовать двойные кавычки «Hello World» и иметь чистый вывод нашего скрипта с выходом 0.

  5.   Инженер Хосе Альберт сказал

    Спасибо за ваш вклад, в следующем скрипте вы увидите использование exit 0, break и других!

  6.   Уилларманд сказал

    Привет.
    Очень интересно, вы делаете это просто; Теперь я обнаружил, что не могу программировать в Linux с помощью cron или at, shutdown / suspend / hibernate, с последующим автоматическим запуском с помощью команды rtc wake, я не знаю, поможет ли сценарий с этой командой, или они будут следовать cron и при этом ничего не делать, или это просто невозможно сделать, или это делается по-другому, или я очень амбициозен, но в Windows это относительно просто сделать. Я хочу перейти на Linux, но для меня важно запланировать выключение / приостановку / переход в спящий режим и запустить компьютер самостоятельно. С уважением.

  7.   Инженер Хосе Альберт сказал

    Возможно, это даст вам несколько новаторских идей: http://cirelramos.blogspot.com/2016/01/reiniciar-apagar-o-ejecutar-otra-tarea.html

  8.   Уилларманд сказал

    Спасибо, прочту их досконально, что-то мне поможет. С уважением.

  9.   Эдуардо Куомо сказал

    Некоторое время назад я начал проект, который считаю единственным в своем роде. Это прототип Framewok Bash. Для этого в системе требуется только Bash.
    Если кому-то еще интересно, им предлагается попробовать и сотрудничать!

    https://github.com/reduardo7/bashx

    Привет!

    1.    Lagarto сказал

      Дорогой Эдуардо, я думаю, что это отличный проект, возможно, ты мог бы поделиться им со всем сообществом desdelinux, помните, что вы можете опубликовать статью о своем проекте на нашем сайте, если вы не знаете как это сделать рекомендую прочитать https://blog.desdelinux.net/guia-redactores-editores/ где лучшие практики для создания статей в desdelinux и процедуру, которую необходимо выполнить. Возможно, для сообщества будет полезно сначала узнать о преимуществах вашего проекта, а затем научиться делать подобные вещи. Мы приглашаем вас и других людей поделиться своими проектами с нами и большим сообществом, которое нас окружает.

  10.   Мигель Уроса Руис сказал

    Привет, доброе утро.
    Я новичок в мире администрирования машин Linux, и мне хотелось знать, что вы для этого порекомендуете: ksh, bash, perl, php, python….
    Большое спасибо и наилучшие пожелания.
    Мигель.