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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

#+ как они будут выглядеть в конечном виде.

E_WRONGARGS=65

if [ -z "$1" ]

then

echo "Порядок использования: `basename $0` имя_файла"

exit $E_WRONGARGS

fi

groff -Tascii -man $1 | less

# Если страница руководства включает в себя таблицы и/или выражения,

# то этот сценарий "стошнит".

# Для таких случаев можно использовать следующую строку.

#

# gtbl < "$1" | geqn -Tlatin1 | groff -Tlatin1 -mtty-char -man

#

# Спасибо S.C.

exit 0

Пример A-2. mailformat: Форматирование электронных писем

#!/bin/bash

# mail-format.sh: Форматирование электронных писем.

# Удаляет символы "^", табуляции и ограничивает чрезмерно длинные строки.

# =================================================================

# Стандартная проверка аргументов

ARGS=1

E_BADARGS=65

E_NOFILE=66

if [ $# -ne $ARGS ] # Проверка числа аргументов

then

echo "Порядок использования: `basename $0` имя_файла"

exit $E_BADARGS

fi

if [ -f "$1" ] # Проверка наличия файла.

then

file_name=$1

else

echo "Файл \"$1\" не найден."

exit $E_NOFILE

fi

# =================================================================

MAXWIDTH=70 # Максимальная длина строки.

# Удаление символов "^" начиная с первого символа строки,

#+ и ограничить длину строки 70-ю символами.

sed '

s/^>//

s/^ *>//

s/^ *//

s/ *//

' $1 | fold -s --width=$MAXWIDTH

# ключ -s команды "fold" разрывает, если это возможно, строку по пробельному символу.

# Этот сценарий был написан после прочтения статьи, в котором расхваливалась

#+ утилита под Windows, размером в 164K, с подобной функциональностью.

#

# Хороший набор утилит для обработки текста и эффективный

#+ скриптовый язык -- это все, что необходимо, чтобы составить серьезную конкуренцию

#+ чрезмерно "раздутым" программам.

exit 0

Пример A-3. rn: Очень простая утилита для переименования файлов

Этот сценарий является модификацией Пример 12-15.

#! /bin/bash

#

# Очень простая утилита для переименования файлов

#

# Утилита "ren", автор Vladimir Lanin (lanin@csd2.nyu.edu),

#+ выполняет эти же действия много лучше.

ARGS=2

E_BADARGS=65

ONE=1 # Единственное или множественное число (см. ниже).

if [ $# -ne "$ARGS" ]

then

echo "Порядок использования: `basename $0` старый_шаблон новый_шаблон"

# Например: "rn gif jpg", поменяет расширения всех файлов в текущем каталоге с gif на jpg.

exit $E_BADARGS

fi

number=0 # Количество переименованных файлов.

for filename in *$1* # Проход по списку файлов в текущем каталоге.

do

if [ -f "$filename" ]

then

fname=`basename $filename` # Удалить путь к файлу из имени.

n=`echo $fname | sed -e "s/$1/$2/"` # Поменять старое имя на новое.

mv $fname $n # Переименовать.

let "number += 1"

fi

done

if [ "$number" -eq "$ONE" ] # Соблюдение правил грамматики.

then

echo "$number файл переименован."

else

echo "Переименовано файлов: $number."

fi

exit 0

# Упражнения:

# ----------

# С какими типами файлов этот сценарий не будет работать?

# Как это исправить?

#

# Переделайте сценарий таким образом, чтобы он мог обрабатывать все файлы в каталоге,

#+ в именах которых содержатся пробелы, заменяя пробелы символом подчеркивания.

Пример A-4. blank-rename: переименование файлов, чьи имена содержат пробелы

Это даже более простая версия предыдущего примера.

#! /bin/bash

# blank-rename.sh

#

# Заменяет пробелы символом подчеркивания в именах файлов в текущем каталоге.

ONE=1 # единственное или множественное число (см. ниже).

number=0 # Количество переименованных файлов.

FOUND=0 # Код завершения в случае успеха.

for filename in * # Перебор всех файлов в текущем каталоге.

do

echo "$filename" | grep -q " " # Проверить -- содержит ли имя файла

if [ $? -eq $FOUND ] #+ пробелы.

then

fname=$filename # Удалить путь из имени файла.

n=`echo $fname | sed -e "s/ /_/g"` # Заменить пробелы символом подчеркивания.

mv "$fname" "$n" # Переименование.

let "number += 1"

fi

done

if [ "$number" -eq "$ONE" ]

then

echo "$number файл переименован."

else

echo "Переименовано файлов: $number"

fi

exit 0

Пример A-5. encryptedpw: Передача файла на ftp-сервер, с использованием пароля

#!/bin/bash

# Модификация примера "ex72.sh", добавлено шифрование пароля.

# Обратите внимание: этот вариант все еще нельзя считать безопасным,

#+ поскольку в сеть пароль уходит в незашифрованном виде.

# Используйте "ssh", если вас это беспокоит.

E_BADARGS=65

if [ -z "$1" ]

then

echo "Порядок использования: `basename $0` имя_файла"

exit $E_BADARGS

fi

Username=bozo # Измените на свой.

pword=/home/bozo/secret/password_encrypted.file

# Файл, содержащий пароль в зашифрованном виде.

Filename=`basename $1` # Удалить путь из имени файла

Server="XXX"

Directory="YYY" # Подставьте фактические имя сервера и каталога.

Password=`cruft <$pword` # Расшифровка.

# Используется авторская программа "cruft",

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

Интервал:

Закладка:

Сделать

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

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


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

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

x