bash scripting

19
Bash Scripting [email protected]

Upload: ilia-lapitan

Post on 25-Dec-2014

455 views

Category:

Documents


8 download

DESCRIPTION

Short introduction in bash scripting

TRANSCRIPT

Page 1: Bash scripting

Bash [email protected]

Page 2: Bash scripting

Bash Scripting

Указываем командный интерпретатор:#! [путь_к_интерпретатору]

Посмотреть список доступных: cat /etc/shells

Для комментариев используем конструкцию:#[текст_комментария]

Выполняем скрипт в режиме отладки (для bash):#!/bin/bash -x

Page 3: Bash scripting

Bash Scripting

Выполняем скрипт:- ./ [скрипт]

- [командный_интерпретатор] [скрипт]

- source [скрипт]

Page 4: Bash scripting

Bash Scripting

3 файловых дескриптора

Числовое значение Имя POSIX.1

0 стандартный вводstdin

STDIN_FILENO

1 стандартный выводstdout

STDOUT_FILENO

2 стандартный поток ошибокstderr

STDERR_FILENO

Page 5: Bash scripting

Bash Scripting

Перенаправляем вывод:[команда] > [файл]

Перенаправляем ввод:[команда] < [файл]

Перенаправляем заданный дескриптор в файл:[команда] * [дескриптор] > [файл]

Перенапрвляем дескрипторы:[команда] * [дескриптор]>& [дескриптор]

Page 6: Bash scripting

Bash Scripting

Конвеерная обработка (pipe - труба):[команда_1] | [команда_2] | [команда_3]

Page 7: Bash scripting

Bash Scripting

Переменные:-не имеют типов данных-переменная может включать число, символ и строку символов-нет необходимости объявлять переменную, достаточно просто присвоить значение

Page 8: Bash scripting

Bash Scripting

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

Типы переменных по содержимому:- строки- целые числа- константные значения- массивы

Page 9: Bash scripting

Bash Scripting

Инициализация переменной:[имя_переменной] = [значение_переменной]

Локальная переменная:local [имя_переменной] = [значение_переменной]

Доступ к переменной:$[имя_переменной]

Безымянная переменная:[команда] $([команда])

Page 10: Bash scripting

Bash Scripting

Задаем тип переменной:declare [имя] = [значение_переменной]

Константная переменная:readonly [имя] = [значение_переменной]

Page 11: Bash scripting

Bash Scripting

Массивы:[имя] = ([значение_1] [значение_2] [значение_N])

Удаляем значение:unset [имя][[индекс]]

Удаляем массив:unset [имя][*]

Просмотреть весь массив:echo ${[имя][*]}

Page 12: Bash scripting

Bash Scripting

Условный оператор:If:if [ [логическое_выражение] ]; then [команды_на_выполнение_если_истина] fi

If - Else:if [ [логическое_выражение] ]; then

[команды_на_выполнение_если_истина] else

[команды_на_выполнение_если_ложь] fi

Page 13: Bash scripting

Bash Scripting

Case:case [переменная] in

[значение_1]) [команды_на_выполнение]

break;; [значение_N])

[команды_на_выполнение] break;;

esac

Page 14: Bash scripting

Bash Scripting

Операторы цикла:For:for [переменная] in [массив_объектов]; do [команды_на_выполнение]

$[переменная]done

While:while [ [логическое_выражение] ]; do [команды_на_выполение] done

Page 15: Bash scripting

Bash Scripting

Until:until [ [логическое_выражение] ]; do [команды_на_выполнение]done

Page 16: Bash scripting

Bash Scripting

Операторы отношения:

-lt <

-gt >

-le <=

-ge >=

-eq ==

-ne !=

Page 17: Bash scripting

Bash Scripting

Функции:без параметров:function [имя_функции] {

[команды_на_выполнение]}

c параметрами:function [имя_функции] {

[команды_на_выполнение]$[номер_переданного_параметра]

}

Page 18: Bash scripting

Bash Scripting

Вывод:- echoecho [строка]

Note: используются для простого вывода.

- printf

Note: используется для форматированного вывода.

Page 19: Bash scripting

Bash Scripting

Ввод:- readread [переменная]