- •СОДЕРЖАНИЕ
- •НАЧАЛЬНАЯ ИНФОРМАЦИЯ
- •ОСНОВНЫЕ СВОЙСТВА bash (major features)
- •ВЫВОД НА КОНСОЛЬ: команда echo
- •КОМАНДА echo (примеры использования)
- •СПЕЦИАЛЬНЫЕ СИМВОЛЫ И ЦИТИРОВАНИЕ
- •ВЫВОД НА КОНСОЛЬ: команда printf
- •ЧТЕНИЕ С КОНСОЛИ: команда read
- •РАБОТА С ПЕРЕМЕННЫМИ
- •ОСНОВНЫЕ ОПЕРАЦИИ
- •РАСКРЫТИЕ СКОБОК
- •ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ
- •КОНСТРУКЦИИ УПРАВЛЕНИЯ ПОТОКОМ
- •УСЛОВНЫЙ ОПЕРАТОР IF
- •ПРОВЕРКА УСЛОВИЙ
- •УСЛОВНЫЙ ОПЕРАТОР IF ПРИ РАБОТЕ С ФАЙЛАМИ
- •УСЛОВНЫЙ ОПЕРАТОР IF (примеры использования)
- •УСЛОВНЫЙ ОПЕРАТОР IF (примеры использования)
- •ОПЕРАТОР МНОЖЕСТВЕННОГО ВЫБОРА CASE
- •ЦИКЛ FOR
- •КОМАНДА seq
- •ЦИКЛЫ WHILE/UNTIL и SELECT
- •МАССИВЫ в bash
- •РАБОТА С МАССИВАМИ
- •РАЗРАБОТКА bash-СКРИПТА (СЦЕНАРИЯ)
- •ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ
КОМАНДА echo (примеры использования)
1) |
$ echo Hello |
World |
! |
Hello World ! |
|
|
|
2) |
$ echo ʺHello |
World |
!ʺ |
Hello |
World |
! |
|
3) |
$ echo * |
|
|
script.sh dataset.txt lab1.sh set.tcl (все файлы из текущего каталога)
4) $ echo *sh
script.sh lab1.sh (файлы из текущего каталога, оканчивающиеся на sh)
5)$ echo *set*
???
6)$ echo ʺs*ʺ
???
6
СПЕЦИАЛЬНЫЕ СИМВОЛЫ И ЦИТИРОВАНИЕ
Символ Значение
~Домашняя директория
`Подстановка команд
#Комментарий
$ |
Переменная / переменное выражение |
& |
Фоновая задача |
* |
Строковый подстановочный знак |
( |
Старт подоболочки (subshell) |
) |
Конец подоболочки (subshell) |
\ |
Экранироватьследующий символ |
| |
Канал |
[ |
Старт подстановочного символьного набора |
] |
Конец подстановочного символьного набора |
{ |
Старт блока команд |
} |
Конец блока команд |
; |
Разделитель команд |
|
|
Символ |
Значение |
’ |
“Сильное” цитирование |
” |
“Слабое” цитирование |
< |
Перенаправление ввода |
> |
Перенаправление вывода |
& |
Фоновая задача |
/ |
Разделитель директорий в имени пути |
? |
Односимвольный подстановочный знак |
! |
Логическое НЕ |
Цитирование – механизм, позволяющий использовать специальныесимволыбезихспециального назначения (какесть): $ echo 2 * 3 > 5 is a valid statement.
?
$ echo ’2 * 3 > 5 is a valid statement.’ 2 * 3 > 5 is a valid statement.
7 |
$ echo ’2 * 3 > 5’ is a valid statement. |
|
? |
ВЫВОД НА КОНСОЛЬ: команда printf
Общийсинтаксис:
printf [формат] [аргументы]
Основныеспецификаторы формата:
Символ |
Описание |
%c |
ASCII символ |
%d, %i |
Целое десятичное число |
%e, %E |
Число с плавающей точкой ([-]d.precision[e|E][+-]dd) |
%f |
Число с плавающей точкой ([-]ddd.precision) |
%g, %G |
Преобразование %e или %f, %E или %f в |
|
зависимости что короче с удалением нулей в конце |
%o |
Беззнаковое восьмеричное число |
%s |
Строка |
%u |
Беззнаковое десятичное число |
%x, %X |
Беззнаковое шестнадцатеричноечисло (a-f либо A-F |
|
для 10-15) |
%% |
Символ % |
|
|
Примеры использования:
$ printf ʺ%s : %dʺ ʺАудиторияʺ 4132
$ printf ʺ%10s%10sʺ ʺString1ʺ ʺString2ʺ $ printf ʺ%-10s%-10sʺ ʺString1ʺ ʺString2ʺ
Записьрезультатавыполнениякоманды printf впеременную: var=$(printf "%.*s" 11 "Bash scripting") printf –v var "%.*s" 7 "Bash scripting"
8
ЧТЕНИЕ С КОНСОЛИ: команда read
Общийсинтаксис:
read [опции] <переменная1> <переменная2> …
Значимыеопции:
Опция |
Назначение |
-s |
“Тихий” режим, вводимые символы не выводятся на экран |
-p <строка> |
Вывести приглашение (<строка>) |
-n <число> |
Считать только заданное количество символов (<число>) |
-d <разделитель> |
Считать данные до указанного разделителя (не до конца строки) |
|
|
Примеры использования: $ read line
This just an example $ echo $line
This just an example
$ read line1 line2 $ read –n 4 line
9$ read –d . line
Вызовкоманды read безуказанияпеременных: $ read
This just an example $ echo $REPLY
This just an example
