Мендель Купер - Искусство программирования на языке сценариев командной оболочки

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

Искусство программирования на языке сценариев командной оболочки: краткое содержание, описание и аннотация

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

Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток, постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку лучший путь к изучению языка сценариев -- это написание сценариев.

Искусство программирования на языке сценариев командной оболочки — читать онлайн бесплатно полную книгу (весь текст) целиком

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

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

Интервал:

Закладка:

Сделать

В общем случае, diffиспользуется для генерации файла различий, который используется как аргумент команды patch. Ключ -e отвечает за вывод файла различий в формате, пригодном для использования с edили ex.

patch: гибкая утилита для "наложения заплат". С помощью файла различий, сгенерированного утилитой diff, утилита patchможет использоваться для обновления устаревших версий файлов. Это позволяет распространять относительно небольшие "diff"-файлы вместо целых пакетов. Распространение "заплат" к ядру стало наиболее предпочтительным методом распространения более новых версий ядра Linux.

patch -p1

# Применит все изменения из 'patch-file'

# к файлам, описанным там же.

# Так выполняется обновление пакетов до более высоких версий.

Наложение "заплат" на ядро:

cd /usr/src

gzip -cd patchXX.gz | patch -p0

# Обновление исходных текстов ядра с помощью 'patch'.

# Пример взят из файла "README",

# автор не известен (Alan Cox?).

картинка 102Кроме того, утилита diffв состоянии выполнять рекурсивный обход каталогов.

bash$ diff -r ~/notes1 ~/notes2

Only in /home/bozo/notes1: file02

Only in /home/bozo/notes1: file03

Only in /home/bozo/notes2: file04

картинка 103Утилита zdiffсравнивает сжатые, с помощью gzip , файлы.

diff3

Расширенная версия diff, которая сравнивает сразу 3 файла. В случае успеха возвращает 0, но, к сожалению, не дает никакой информации о результатах сравнения.

bash$ diff3 file-1 file-2 file-3

====

1:1c

This is line 1 of "file-1".

2:1c

This is line 1 of "file-2".

3:1c

This is line 1 of "file-3"

sdiff

Сравнение и/или редактирование двух файлов перед объединением их в один файл. Это интерактивная утилита, по своей природе, и из-за этого она довольно редко используется в сценариях.

cmp

Утилита cmp-- это упрощенная версия diff. В то время, как diffвыводит подробную информацию об имеющихся различиях, утилита cmpлишь показывет номер строки и позицию в строке, где было встречено различие.

картинка 104Подобно команде diff, команда cmpвозвращает код завершения 0, если файлы идентичны и 1, если они различны. Это позволяет использовать команду cmpв условных операторах.

Пример 12-27. Пример сравнения двух файлов с помощью cmp.

#!/bin/bash

ARGS=2 # Ожидаются два аргумента командной строки.

E_BADARGS=65

E_UNREADABLE=66

if [ $# -ne "$ARGS" ]

then

echo "Порядок использования: `basename $0` file1 file2"

exit $E_BADARGS

fi

if [[ ! -r "$1" || ! -r "$2" ]]

then

echo "Оба файла должны существовать и должны быть доступны для чтения."

exit $E_UNREADABLE

fi

cmp $1 $2 &> /dev/null # /dev/null -- "похоронит" вывод от команды "cmp".

# cmp -s $1 $2 даст тот же результат ("-s" -- флаг "тишины" для "cmp")

# Спасибо Anders Gustavsson за замечание.

#

# Также применимо к 'diff', т.е., diff $1 $2 &> /dev/null

if [ $? -eq 0 ] # Проверка кода возврата команды "cmp".

then

echo "Файл \"$1\" идентичен файлу \"$2\"."

else

echo "Файл \"$1\" отличается от файла \"$2\"."

fi

exit 0

картинка 105Для работы с gzip файлами используется утилита zcmp.

comm

Универсальная утилита сравнения. Работает с отсортированными файлами.

comm -options first-file second-file

comm file-1 file-2-- вывод в три колонки:

 колонка 1 = уникальные строки для file-1

 колонка 2 = уникальные строки для file-2

 колонка 3 = одинаковые строки.

Ключи, подавляющие вывод в одной или более колонках.

-1 -- подавление вывода в колонку 1

-2 -- подавление вывода в колонку 2

-3 -- подавление вывода в колонку 3

-12 -- подавление вывода в колонки 1 и 2 , и т.д.

Утилиты

basename

Выводит только название файла, без каталога размещения. Конструкция basename $0-- позволяет сценарию узнать свое имя, то есть имя файла, который был запущен. Это имя может быть использовано для вывода сообщений, напрмиер:

echo "Порядок использования: `basename $0` arg1 arg2 ... argn"

dirname

Отсекает basenameот полного имени файла и выводит только путь к файлу.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Искусство программирования на языке сценариев командной оболочки»

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


Отзывы о книге «Искусство программирования на языке сценариев командной оболочки»

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

x