Библиотека knigago >> Компьютеры: Операционные системы >> Unix >> Программирование на Bash с нуля

Илья Шпигорь - Программирование на Bash с нуля

Программирование на Bash с нуля
Книга - Программирование на Bash с нуля.  Илья Шпигорь  - прочитать полностью в библиотеке КнигаГо
Название:
Программирование на Bash с нуля
Илья Шпигорь

Жанр:

Linux, Unix, Программирование: прочее

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Программирование на Bash с нуля"

Аннотация к этой книге отсутствует.

Читаем онлайн "Программирование на Bash с нуля". [Страница - 99]

комбинации значения переменной LANGUAGE и кода ошибки. Получим такую
функцию print_error как в листинге 5-9.
Листинг 5-9. Скрипт для вывода сообщений об ошибках
1

#!/bin/bash

2
3
4
5

print_error()
{
declare -A messages

6

messages["ru_RU",1]="Не найден файл"
messages["ru_RU",2]="Нет прав для чтения файла"

7
8
9

messages["en_US",1]="File not found:"
messages["en_US",2]="Permission to read the file denied:"

10
11
12

echo "${messages[$LANGUAGE,$1]} $2" >> debug.log

13
14

}

15
16

print_error 1 "readme.txt"

Упражнение 3-14. Область видимости переменных

Скрипт из листинга 3-37 выведет на консоль следующий текст:
1
2
3
4
5
6

main1: var =
foo1: var = foo_value
bar1: var = foo_value
bar2: var = bar_value
foo2: var = bar_value
main2: var =

Начнём с вывода “main1” и “main2”. Переменная var объявлена в функции foo как локальная.
Поэтому она доступна только в foo и в вызываемой из неё функции bar. Следовательно, до
и после вызова foo переменная varсчитается необъявленной.

Ответы

318

В выводе “foo1” напечаталось значение foo_value. Оно было присвоено переменной только
что.
Далее идёт вывод “bar1”. Переменная var объявлена в функции foo, а bar вызывается из неё.
Поэтому тело функции bar тоже является областью видимости var.
Затем мы присваиваем var новое значение bar_value. Обратите внимание, что мы не объявляем новую глобальную переменной с именем var. Мы перезаписываем уже существующую
локальную переменную. Её значение bar_value мы получим в выводах “bar2” и “foo2”.

Ссылки на ресурсы
Общая информация
На русском языке









Цикл статей по истории электронных компьютеров⁵¹².
История ОС Unix⁵¹³.
История ОС Linux⁵¹⁴.
История ОС от Apple⁵¹⁵.
История мейнфреймов⁵¹⁶.
Лекция “История вычислительных машин”⁵¹⁷.
Лекция “Ретроспектива развития вычислительной техники”⁵¹⁸.
Статья “Статическая и динамическая типизация”⁵¹⁹.

На английском языке
• Цикл статей по истории электронных компьютеров⁵²⁰
• История ОС от Apple⁵²¹.
• Статья “Статическая и динамическая типизация”⁵²²

Bash
На русском языке
• Перевод книги Machtelt Garrels “Руководство по Bash для начинающих”⁵²³.
• Перевод книги Mendel Cooper “Advanced Bash-Scripting Guide”⁵²⁴ (“Искусство программирования на языке сценариев командной оболочки”).
⁵¹²https://habr.com/ru/post/408611
⁵¹³https://habr.com/ru/post/147774
⁵¹⁴https://habr.com/ru/post/95646
⁵¹⁵https://habr.com/ru/post/198016
⁵¹⁶http://www.thg.ru/cpu/mainframe_history/index.html
⁵¹⁷https://postnauka.ru/video/86550
⁵¹⁸https://postnauka.ru/video/38501
⁵¹⁹https://habr.com/ru/post/308484
⁵²⁰https://technicshistory.com/2017/08/29/the-electronic-computers-part-1-prologue
⁵²¹http://web.archive.org/web/20180702193510/http://kernelthread.com/publications/appleoshistory/
⁵²²https://www.destroyallsoftware.com/compendium/types?share_key=baf6b67369843fa2
⁵²³http://rus-linux.net/nlib.php?name=/MyLDP/BOOKS/Bash-Guide-1.12-ru/bash-guide-index.html
⁵²⁴https://www.opennet.ru/docs/RUS/bash_scripting_guide

Ссылки на ресурсы

• Шпаргалка по Bash командам⁵²⁵.
• Подводные камни Bash⁵²⁶.

На английском языке















Книга Machtelt Garrels “Руководство по Bash для начинающих”⁵²⁷
Книга Mendel Cooper “Advanced Bash-Scripting Guide”⁵²⁸
Шпаргалка по Bash командам⁵²⁹
Bash Reference Manual⁵³⁰
Wiki ресурс⁵³¹ по использованию Bash.
Руководство по Bash⁵³².
Подводные камни Bash⁵³³.
Примеры неправильного использования GNU-утилит Useless Use of Cat Award⁵³⁴.
Регулярные выражения в утилите grep⁵³⁵.
Best practices по использованию Bash⁵³⁶.
Bash coding style на основе mywiki.wooledge.org⁵³⁷.
Bash coding style от Google⁵³⁸.
Сервис для анализа Bash-команд⁵³⁹.
Инструкция по локализации Bash-скриптов⁵⁴⁰

Unix-окружение
На русском языке
• Книга Алексея Федосеева “Введение в администрирование UNIX”⁵⁴¹.
• Книга Эрика Реймонда “Искусство программирования в Unix”⁵⁴².

⁵²⁵https://tproger.ru/translations/bash-cheatsheet
⁵²⁶https://habr.com/ru/company/mailru/blog/311762/
⁵²⁷https://tldp.org/LDP/Bash-Beginners-Guide/html/
⁵²⁸http://tldp.org/LDP/abs/html
⁵²⁹https://github.com/NisreenFarhoud/Bash-Cheatsheet
⁵³⁰https://www.gnu.org/software/bash/manual/html_node/index.html#SEC_Contents
⁵³¹https://wiki.bash-hackers.org
⁵³²http://mywiki.wooledge.org/BashGuide
⁵³³http://mywiki.wooledge.org/BashPitfalls
⁵³⁴http://www.smallo.ruhr.de/award.html
⁵³⁵https://www.cyberciti.biz/faq/grep-regular-expressions
⁵³⁶http://mywiki.wooledge.org/BashGuide/Practices
⁵³⁷https://github.com/bahamas10/bash-style-guide
⁵³⁸https://google.github.io/styleguide/shellguide.html
⁵³⁹https://explainshell.com/#
⁵⁴⁰https://mywiki.wooledge.org/BashFAQ/098
⁵⁴¹http://heap.altlinux.org/modules/unix_base_admin.dralex/index.html
⁵⁴²https://ru.wikipedia.org/wiki/Философия_Unix#Реймонд:_Искусство_программирования_в_Unix

320

--">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.