Опубликован: 28.04.2014 | Доступ: свободный | Студентов: 156 / 0 | Длительность: 03:30:00
Лекция 3:

Работа в Bash

< Лекция 2 || Лекция 3: 12 || Лекция 4 >

Как выйти из vi

Чтобы выйти из файла без сохранения, нажмите:

ESC : q ! Enter

Чтобы выйти из файла, сохранив изменения, нажмите:

ESC : w ! Enter
ESC : q Enter

Выйти из файла с сохранением, одной командой:

ESC : wq Enter

Кратко о скриптах

Итак, что же такое скрипт ?

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

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

Сфера применения скриптов огромна. Например:

  • seo-скрипты, помогающие продвигать сайты на чистом PHP
  • сюда же можно отнести скрипты автоматизации бизнеса
  • сар-скрипты - скрипты активной рекламы
  • popup-скрипты - скрипты всплывающей информации
  • скрипты наблюдающие за статистикой посещений (счетчики посещаемости)
  • скрипты - гостевые книги
  • скрипты - системы комментариев к понравившимся статьям
  • на скриптах основаны все cms и форумы
  • скрипты помогают динамическому отображению веб-сайта
  • при их помощи пользователь получает возможность обращаться к базам данных
  • скрипты позволяют организовать изменения части сайта без перегрузки всей страницы
  • popup-скрипты и другие полезные скрипты.

Удобство скриптового языка

Скриптовый язык удобен в следующих случаях:

  • Если нужно обеспечить программируемость без риска дестабилизировать систему.
  • Если важен выразительный код.
  • Скрипты известны низким порогом вхождения, на скриптовом языке может писать даже низкоквалифицированный программист.
  • Если требуется кроссплатформенность.
  • Скриптовые языки применяются для написания программ, не требующих оптимальности и быстроты исполнения.
  • Также скриптовые языки хороши для визуализации данных: создания сложных графиков и презентаций, а также простых программ.

Основы программирования bash

BASH - Bourne-Again SHell (что может переводится как "перерожденный шел", или "Снова шел Борна(создатель sh)"), самый популярный командный интерпретатор в юниксоподобных системах, в особенности в GNU/Linux.

Любой bash-скрипт должен начинаться со строки:

#!/bin/bash

в этой строке после #! указывается путь к bash-интерпретатору, поэтому если он у вас установлен в другом месте(где, вы можете узнать набрав whereis bash) поменяйте её на ваш путь.

Коментарии начинаются с символа # (кроме первой строки). В bash переменные не имеют типа(о них речь пойдет ниже).

Встроенные команды

  • break выход из цикла for, while или until
  • continue выполнение следующей итерации цикла for, while или until
  • echo вывод аргументов, разделенных пробелами, на стандартное устройство вывода
  • exit выход из оболочки
  • export отмечает аргументы как переменные для передачи в дочерние процессы в среде
  • hash запоминает полные имена путей команд, указанных в качестве аргументов, чтобы не искать их при следующем обращении
  • kill посылает сигнал завершения процессу
  • pwd выводит текущий рабочий каталог
  • read читает строку из ввода оболочки и использует ее для присвоения значений указанным переменным.\
  • return заставляет функцию оболочки выйти с указанным значением
  • shift перемещает позиционные параметры налево
  • test вычисляет условное выражение
  • times выводит имя пользователя и системное время, использованное оболочкой и ее потомками
  • trap указывает команды, которые должны выполняться при получении оболочкой сигнала
  • unset вызывает уничтожение переменных оболочки
  • wait ждет выхода из дочернего процесса и сообщает выходное состояние.

Переменные Bash

  • $DIRSTACK - содержимое вершины стека каталогов
  • $EDITOR - текстовый редактор по умолчанию
  • $EUID - Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя, в то время как...
  • $UID - ...содержит реальный идентификатор, который устанавливается только при логине.
  • $FUNCNAME - имя текущей функции в скрипте.
  • $GROUPS - массив групп к которым принадлежит текущий пользователь
  • $HOME - домашний каталог пользователя
  • $HOSTNAME - ваш hostname
  • $HOSTTYPE - архитектура машины.
  • $LC_CTYPE - внутренняя переменная, котороя определяет кодировку символов
  • $OLDPWD - прежний рабочий каталог
  • $OSTYPE - тип ОС
  • $PATH - путь поиска программ
  • $PPID - идентификатор родительского процесса
  • $SECONDS - время работы скрипта(в сек.)
  • $# - общее количество параметров переданных скрипту
  • $* - все аргументы переданыне скрипту(выводятся в строку)
  • $@ - тоже самое, что и предыдущий, но параметры выводятся в столбик
  • $! - PID последнего запущенного в фоне процесса
  • $$ - PID самого скрипта.

Циклы Bash

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

Большинство из них поддерживаются оболочкой Bash. Мы рассмотрим их все в сегодняшней статье, но сначала поговорим какими они бывают:

  • for - позволяет перебрать все элементы из массива или использует переменную-счетчик для определения количества повторений;
  • while - цикл выполняется пока условие истинно;
  • until - цикл выполняется пока условие ложно.
< Лекция 2 || Лекция 3: 12 || Лекция 4 >
Алина Бёрнс
Алина Бёрнс
Ксения Птицына
Ксения Птицына

Когда можно будет пройти итоговую аттестацию