КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 710800 томов
Объем библиотеки - 1390 Гб.
Всего авторов - 273984
Пользователей - 124948

Новое на форуме

Новое в блогах

Впечатления

serge111 про Лагик: Раз сыграл, навсегда попал (Боевая фантастика)

маловразумительная ерунда, да ещё и с беспричинным матом с первой же страницы. Как будто какой-то гопник писал... бее

Рейтинг: 0 ( 0 за, 0 против).
medicus про Aerotrack: Бесконечная чернота (Космическая фантастика)

Коктейль "ёрш" от фантастики. Первые две трети - космофантастика о девственнике 34-х лет отроду, что нашёл артефакт Древних и звездолёт, на котором и отправился в одиночное путешествие по галактикам. Последняя треть - фэнтези/литРПГ, где главный герой на магической планете вместе с кошкодевочкой снимает уровни защиты у драконов. Получается неудобоваримое блюдо: те, кому надо фэнтези, не проберутся через первые две трети, те же, кому надо

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
Влад и мир про Найденов: Артефактор. Книга третья (Попаданцы)

Выше оценки неплохо 3 том не тянет. Читать далее эту книгу стало скучно. Автор ударился в псевдо экономику и т.д. И выглядит она наивно. Бумага на основе магической костной муки? Где взять такое количество и кто позволит? Эта бумага от магии меняет цвет. То есть кто нибудь стал магичеть около такой ксерокопии и весь документ стал черным. Вспомните чеки кассовых аппаратов на термобумаге. Раз есть враги подобного бизнеса, то они довольно

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
Stix_razrushitel про Дебров: Звездный странник-2. Тропы миров (Альтернативная история)

выложено не до конца книги

Рейтинг: 0 ( 0 за, 0 против).
Михаил Самороков про Мусаниф: Физрук (Боевая фантастика)

Начал читать. Очень хорошо. Слог, юмор, сюжет вменяемый.
Четыре с плюсом.
Заканчиваю читать. Очень хорошо. И чем-то на Славу Сэ похоже.
Из недочётов - редкие!!! очепятки, и кое-где тся-ться, но некритично абсолютно.
Зачёт.

Рейтинг: +2 ( 2 за, 0 против).

Bash-скрипты, руководство в 11 частях (fb2) читать постранично


 [Настройки текста]  [Cбросить фильтры]

Bash-скрипты, руководство в 11 частях


Bash-скрипты: начало


Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


Сценарии командной строки — это наборы тех же самых команд, которые можно вводить с клавиатуры, собранные в файлы и объединённые некоей общей целью. При этом результаты работы команд могут представлять либо самостоятельную ценность, либо служить входными данными для других команд. Сценарии — это мощный способ автоматизации часто выполняемых действий.


Итак, если говорить о командной строке, она позволяет выполнить несколько команд за один раз, введя их через точку с запятой:


pwd ; whoami

На самом деле, если вы опробовали это в своём терминале, ваш первый bash-скрипт, в котором задействованы две команды, уже написан. Работает он так. Сначала команда pwd выводит на экран сведения о текущей рабочей директории, потом команда whoami показывает данные о пользователе, под которым вы вошли в систему.


Используя подобный подход, вы можете совмещать сколько угодно команд в одной строке, ограничение — лишь в максимальном количестве аргументов, которое можно передать программе. Определить это ограничение можно с помощью такой команды:


getconf ARG_MAX

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

Как устроены bash-скрипты


Создайте пустой файл с использованием команды touch. В его первой строке нужно указать, какую именно оболочку мы собираемся использовать. Нас интересует bash, поэтому первая строка файла будет такой:


#!/bin/bash

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


Команды оболочки отделяются знаком перевода строки, комментарии выделяют знаком решётки. Вот как это выглядит:


#!/bin/bash

# This is a comment

pwd

whoami

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

Установка разрешений для файла сценария


Сохраните файл, дав ему имя myscript, и работа по созданию bash-скрипта почти закончена. Сейчас осталось лишь сделать этот файл исполняемым, иначе, попытавшись его запустить, вы столкнётесь с ошибкой Permission denied.


Попытка запуска файла сценария с неправильно настроенными разрешениями

Сделаем файл исполняемым:


chmod +x ./myscript

Теперь попытаемся его выполнить:


./myscript

После настройки разрешений всё работает как надо.

Успешный запуск bash-скрипта

Вывод сообщений


Для вывода текста в консоль Linux применяется команда echo. Воспользуемся знанием этого факта и отредактируем наш скрипт, добавив пояснения к данным, которые выводят уже имеющиеся в нём команды:


#!/bin/bash

# our comment is here

echo "The current directory is:"

pwd

echo "The user logged in is:"

whoami

Вот что получится после запуска обновлённого скрипта.


Вывод сообщений из скрипта

Теперь мы можем выводить поясняющие надписи, используя команду echo. Если вы не знаете, как отредактировать файл, пользуясь средствами Linux, или раньше не встречались с командой echo, взгляните на этот материал.

Использование переменных


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


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


Существуют два типа переменных, которые можно использовать в bash-скриптах:


   • Переменные среды

   • Пользовательские переменные

Переменные среды


Иногда в командах оболочки нужно работать с некими системными данными. Вот, например, как вывести домашнюю директорию текущего