Дейв Тейлор - Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание

Тут можно читать онлайн Дейв Тейлор - Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Питер, год 2017. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2017
  • Город:
    СПб.
  • ISBN:
    978-5-496-03029-8
  • Рейтинг:
    5/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Дейв Тейлор - Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание краткое содержание

Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание - описание и краткое содержание, автор Дейв Тейлор, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Сценарии командной оболочки помогают системным администраторам и программистам автоматизировать рутинные задачи с тех самых пор, как появились первые компьютеры. С момента выхода первого издания этой книги в 2004 году многое изменилось, однако командная оболочка bash только упрочила свои лидирующие позиции. Поэтому умение использовать все ее возможности становится насущной необходимостью для системных администраторов, инженеров и энтузиастов. В этой книге описываются типичные проблемы, с которыми можно столкнуться, например, при сборке программного обеспечения или координации действий других программ. А решения даются так, что их легко можно взять за основу и экстраполировать на другие схожие задачи.
Цель этой книги — продемонстрировать практические приемы программирования сценариев на bash и познакомить с самыми распространенными утилитами на коротких и компактных примерах, не вдаваясь в излишние подробности. Экспериментируйте с этими сценариями — ломайте, исправляйте и приспосабливайте их под свои нужды, чтобы понять, как они работают. Только так вы сможете решать самые сложные задачи.

Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание - читать онлайн бесплатно полную версию (весь текст целиком)

Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание - читать книгу онлайн бесплатно, автор Дейв Тейлор
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

$ cat −v mac-format-file.txt

The rain in Spain^Mfalls mainly on^Mthe plain.^MNo kidding. It does.^M $

Очевидно, что здесь что-то не так! К счастью можно воспользоваться командой tr и с ее помощью заменить символы возврата каретки символами перевода строки.

$ tr '\r' '\n' < mac-format-file.txt > unix-format-file.txt

Применение этой команды к типичному файлу дает более осмысленным результат.

$ tr '\r' '\n' < mac-format-file.txt

The rain in Spain

falls mainly on

the plain.

No kidding. It does.

Если, открыв файл в приложении для Mac, таком как Microsoft Word, вы видите ступеньки, убегающие вправо, попробуйте выполнить обратную замену символа, обозначающего конец строки — для приложений с графическим интерфейсом Aqua.

$ tr '\n' '\r' < unixfile.txt > macfile.txt

Мы продемонстрировали только одно из небольших отличий, характерных для OS X. Нам придется иметь дело со всеми этими странностями, но и все замечательные преимущества OS X тоже к нашим услугам.

А теперь перейдем к делу, хорошо?

№ 79. Автоматизация захвата изображения экрана

Если вы пользуетесь Mac уже некоторое время, то наверняка знаете о встроенной функции захвата изображения с экрана, привязанной к комбинации клавиш  -SHIFT-3. C той же целью можно использовать утилиты OS X, Preview и Grab, находящиеся в папках Applications (Программы) и Utilities (Утилиты) соответственно, а кроме того, существует богатый выбор сторонних программ.

Но знаете ли вы, что есть и альтернатива для командной строки? Сверхполезная программа screencapture может сделать снимок экрана и сохранить его в буфере обмена или в файле с указанным именем (в формате JPEG или TIFF). Введите команду с неподдерживаемым аргументом, и вы увидите справку с описанием основ работы с программой, как показано ниже:

$ screencapture −h

screencapture: недопустимый параметр −h

порядок использования: screencapture [-icMPmwsWxSCUtoa] [files]

··-c········ поместить снимок экрана в буфер обмена

··-C········ сохранить изображение указателя мыши на экране. только··············в неинтерактивных режимах

··-d········ выводить ошибки в диалоге с графическим интерфейсом

··-i········ захватить изображение интерактивно, выбранной области или окна

·············· клавиша control — заставляет поместить снимок в буфер обмена

·············· клавиша пробела — переключает между режимами захвата области,

································ выбранной мышью, и окна

·············· клавиша escape··- отменяет интерактивный захват изображения экрана

··-m········ захватить изображение только на основном мониторе, игнорируется··············с флагом −i

··-M········ поместить снимок экрана в новое электронное письмо

··-o········ в режиме захвата окна не захватывать тень от окна

··-P········ открыть снимок экрана в программе Preview

··-s········ разрешить только режим захвата выбранной области

··-S········ в режиме захвата окна захватить экран, а не окно

··-t формат создаваемого изображения, по умолчанию png

············ (поддерживаются также pdf, jpg, tiff и другие форматы)

··-T Выполнить захват с задержкой секунд, по умолчанию 5

··-w········ разрешить только режим захвата окна

··-W········ начать взаимодействие в режиме захвата окна

··-x········ не проигрывать звуки

··-a········ не включать окна, присоединенные к выбранным окнам

··-r········ не добавлять метаданные о разрешении (dpi) в изображение

··-l захватить окно с идентификатором

··-R захватить указанную область на экране

··files··где сохранить снимок экрана, 1 на экран

Это приложение так и просит написать для него сценарий-обертку. Например, чтобы сделать снимок экрана с задержкой 30 секунд, можно использовать следующую команду:

$ sleep 30; screencapture capture.tiff

Но давайте придумаем что-нибудь поинтереснее, согласны?

Код

Листинг 11.1 демонстрирует, как можно автоматизировать работу с утилитой screencapture для скрытного создания снимков экрана.

Листинг 11.1.Сценарий-обертка screencapture2

··#!/bin/bash

··# screencapture2 — использует команду screencapture в OS X для создания

··#·· серии скриншотов главного окна в скрытном режиме. Удобно, если вы

··#·· находитесь в сомнительном вычислительном окружении!

··capture="$(which screencapture) −x — m −C"

картинка 465··freq=60···· # Каждые 60 секунд.

··maxshots=30··# Максимальное число скриншотов.

··animate=0·· # Создать анимированный gif? Нет.

··while getopts "af: m" opt; do

····case $opt in

······a) animate=1;········;;

······f) freq=$OPTARG;····;;

······m) maxshots=$OPTARG;;; # Завершить после создания заданного числа снимков.

······?) echo "Usage: $0 [-a] [-f frequency] [-m maxcaps]" >&2

··········exit 1

····esac

··done

··counter=0

··while [$counter −lt $maxshots]; do

····$capture capture${counter}.jpg # Счетчик counter постоянно увеличивается.

····counter=$((counter + 1))

····sleep $freq·· # т. е. freq — число секунд между снимками.

··done

··# Теперь, если требуется, сжать все отдельные снимки в один анимированный GIF.

··if [$animate −eq 1]; then

картинка 466····convert −delay 100 −loop 0 −resize "33 %" capture* animated-captures.gif

··fi

··# Не возвращать никаких других кодов состояния для скрытности.

··exit 0

Как это работает

Этот сценарий делает снимки экрана через каждые $freq секунд картинка 467, пока не будет достигнуто количество $maxshots (по умолчанию создается 30 снимков с интервалом 60 секунд между ними). Затем создается серия файлов JPEG, последовательно пронумерованных начиная с 0. Все это может пригодиться, если вы создаете обучающие материалы или хотите определить, пользовался ли кто-то вашим компьютером в ваше отсутствие. Запустите сценарий и увидите, что происходило, если этот «кто-то» не оказался умнее.

Последний раздел сценария самый интересный: при необходимости он создает анимированный GIF в одну треть размера оригинала, используя инструмент преобразования из пакета ImageMagick картинка 468. Это удобный способ просмотреть сразу все изображения. В главе 14 мы найдем для ImageMagick большое количество применений! Если в вашей системе OS X этот инструмент отсутствует, то с помощью диспетчера пакетов, такого как brew, вы сможете установить его одной командой (brew install imagemagick).

Запуск сценария

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

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

Интервал:

Закладка:

Сделать


Дейв Тейлор читать все книги автора по порядку

Дейв Тейлор - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание отзывы


Отзывы читателей о книге Сценарии командной оболочки. Linux, OS X и Unix. 2-е издание, автор: Дейв Тейлор. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x