Работа в Bash
Как выйти из 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 - цикл выполняется пока условие ложно.