Уильям Шоттс - Командная строка Linux. Полное руководство

Здесь есть возможность читать онлайн «Уильям Шоттс - Командная строка Linux. Полное руководство» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2016, ISBN: 2016, Издательство: Питер, Жанр: tbg_computers, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Командная строка Linux. Полное руководство: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Командная строка Linux. Полное руководство»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга Уильяма Шоттса "Командная строка Linux: Полное руководство" представляет обширный обзор «жизни» в командной строке Linux. В отличие от других книг, посвященных одной программе, такой как командный интерпретатор bash, в этой книге автор попытается рассказать, как поладить с интерфейсом командной строки в более широком аспекте. Как он работает? Что можно сделать с его помощью? Как лучше его использовать? Эта книга не об администрировании системы Linux. Эта книга исключительно о Linux.
В книге материал излагается в тщательно выверенной последовательности, как в школе, где учитель руководит вами и направляет вас по правильному пути. Многие авторы грешат тем, что подают материал в «систематическом» порядке, имеющем определенный смысл для писателя, но способном вызывать путаницу у начинающих пользователей. Цель данной книги — познакомить вас с идеологией Unix, которая отличается от идеологии Windows.

Командная строка Linux. Полное руководство — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Командная строка Linux. Полное руководство», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

if [[ $REPLY =~ ^[0-3]$ ]]; then

if [[ $REPLY == 0 ]]; then

echo "Program terminated."

exit

fi

if [[ $REPLY == 1 ]]; then

echo "Hostname: $HOSTNAME"

uptime

exit

fi

if [[ $REPLY == 2 ]]; then

df -h

exit

fi

if [[ $REPLY == 3 ]]; then

if [[ $(id -u) -eq 0 ]]; then

echo "Home Space Utilization (All Users)"

du -sh /home/*

else

echo "Home Space Utilization ($USER)"

du -sh $HOME

fi

exit

fi

else

echo "Invalid entry." >&2

exit 1

fi

С помощью case можно сделать логику выбора немного проще:

#!/bin/bash

# case-menu: программа вывода системной информации,

# управляемая с помощью меню

clear

echo "

Please Select:

1. Display System Information

2. Display Disk Space

3. Display Home Space Utilization

0. Quit

"

read -p "Enter selection [0-3] > "

case $REPLY in

0) echo "Program terminated."

exit

;;

1) echo "Hostname: $HOSTNAME"

uptime

;;

2) df -h

;;

3) if [[ $(id -u) -eq 0 ]]; then

echo "Home Space Utilization (All Users)"

du -sh /home/*

else

echo "Home Space Utilization ($USER)"

du -sh $HOME

fi

;;

*) echo "Invalid entry" >&2

exit 1

;;

esac

Команда case берет значение слова — в данном примере значение переменной REPLY — и затем сопоставляет его с указанными шаблонами. Найдя соответствие, она выполняет команды, связанные с найденным шаблоном. После нахождения соответствия сопоставление с нижележащими шаблонами уже не производится.

Шаблоны

Шаблоны обрабатываются командой case точно так же, как пути механизмом подстановки. Шаблоны завершаются символом ). В табл. 31.1 перечислены некоторые допустимые шаблоны.

Таблица 31.1. Примеры шаблонов в команде case

Шаблон

Описание

a)

Соответствует, если слово содержит a

[[:alpha:]])

Соответствует, если слово содержит единственный алфавитный символ

???)

Соответствует, если слово содержит ровно три символа

*.txt)

Соответствует, если слово заканчивается символами .txt

*)

Соответствует любому значению слова. Считается хорошей практикой включать этот шаблон в команду case последним, чтобы перехватывать любые значения слова, не соответствующие ни одному из предыдущих шаблонов, то есть чтобы перехватывать любые недопустимые значения

Следующий пример демонстрирует работу шаблонов:

#!/bin/bash

read -p "enter word > "

case $REPLY in

[[:alpha:]]) echo "is a single alphabetic character." ;;

[ABC][0-9]) echo "is A, B, or C followed by a digit." ;;

???) echo "is three characters long." ;;

*.txt) echo "is a word ending in '.txt'" ;;

*) echo "is something else." ;;

esac

Объединение нескольких шаблонов

Мы можем объединить несколько шаблонов, перечислив их через символ вертикальной черты. В результате получается комбинированный условный шаблон, объединенный по «ИЛИ». Эта возможность может пригодиться, например, для обработки символов верхнего и нижнего регистров:

#!/bin/bash

# case-menu: программа вывода системной информации,

# управляемая с помощью меню

clear

echo "

Please Select:

A. Display System Information

B. Display Disk Space

C. Display Home Space Utilization

Q. Quit

"

read -p "Enter selection [A, B, C or Q] > "

case $REPLY in

q|Q) echo "Program terminated."

exit

;;

a|A) echo "Hostname: $HOSTNAME"

uptime

;;

b|B) df -h

;;

c|C) if [[ $(id -u) -eq 0 ]]; then

echo "Home Space Utilization (All Users)"

du -sh /home/*

else

echo "Home Space Utilization ($USER)"

du -sh $HOME

fi

;;

*) echo "Invalid entry" >&2

exit 1

;;

esac

Здесь мы изменили программу case-menu, предложив пользователю выбирать пункты меню вводом букв, а не цифр. Обратите внимание, что новые шаблоны позволяют вводить буквы обоих регистров — верхнего и нижнего.

Заключительное замечание

Команда case является удобным дополнением к нашей коллекции приемов программирования. Как будет показано в следующей главе, она отлично подходит для решения некоторых видов задач.

32. Позиционные параметры

Во всех предыдущих наших программах отсутствовала одна особенность — возможность принимать и обрабатывать параметры и аргументы командной строки. В этой главе мы исследуем эту возможность и позволим нашим программам обращаться к содержимому командной строки.

Доступ к командной строке

Командная оболочка поддерживает множество переменных, которые называются позиционными параметрами и содержат отдельные слова из командной строки. Эти переменные имеют имена от 0 до 9. Продемонстрируем их:

#!/bin/bash

# posit-param: сценарий для просмотра параметров командной строки

echo "

\$0 = $0

\$1 = $1

\$2 = $2

\$3 = $3

\$4 = $4

\$5 = $5

\$6 = $6

\$7 = $7

\$8 = $8

\$9 = $9

"

Этот очень простой сценарий выводит значения переменных с именами от $0 до $9. Запустим его без аргументов командной строки:

[me@linuxbox ~]$ posit-param

$0 = /home/me/bin/posit-param

$1 =

$2 =

$3 =

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Командная строка Linux. Полное руководство»

Представляем Вашему вниманию похожие книги на «Командная строка Linux. Полное руководство» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Денис Колисниченко - Linux - Полное руководство
Денис Колисниченко
Отзывы о книге «Командная строка Linux. Полное руководство»

Обсуждение, отзывы о книге «Командная строка Linux. Полное руководство» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x