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

Переменная $PPID хранит PID (идентификатор) родительского процесса.[ 19 ]

Сравните с командой pidof.

$PS1

prompt, приглашение командной строки.

$PS2

Вторичное приглашение командной строки, выводится тогда, когда от пользователя ожидается дополнительный ввод. Отображается как ">".

$PS3

Третичное приглашение (prompt), выводится тогда, когда пользователь должен сделать выбор в операторе select (см. Пример 10-29).

$PS4

Приглашение (prompt) четвертого уровня, выводится в начале каждой строки вывода тогда, когда сценарий вызывается с ключом -x. Отображается как "+".

$PWD

рабочий (текущий) каталог

Аналог встроенной команды pwd.

#!/bin/bash

E_WRONG_DIRECTORY=73

clear # Очистка экрана.

TargetDirectory=/home/bozo/projects/GreatAmericanNovel

cd $TargetDirectory

echo "Удаление файлов в каталоге $TargetDirectory."

if [ "$PWD" != "$TargetDirectory" ]

then # Защита от случайного удаления файлов не в том каталоге.

echo "Неверный каталог!"

echo "Переменная $PWD указывает на другой каталог!"

exit $E_WRONG_DIRECTORY

fi

rm -rf *

rm .[A-Za-z0-9]* # удалить "скрытые" файлы (начинающиеся с ".")

# rm -f .[^.]* ..?* удалить файлы, чьи имена начинаются с нескольких точек.

# (shopt -s dotglob; rm -f *) тоже работает верно.

# Спасибо S.C. за замечание.

# Имена файлов могут содержать любые символы из диапазона 0-255, за исключением "/".

# Оставляю вопрос удаления файлов с "необычными" символами для самостоятельного изучения.

# Здесь можно вставить дополнительные действия, по мере необходимости.

echo

echo "Конец."

echo "Файлы, из каталога $TargetDirectory, удалены."

echo

exit 0

$REPLY

переменная по-умолчанию, куда записывается ввод пользователя, выполненный с помощью команды read если явно не задана другая переменная. Так же может использоваться в операторе select, для построения меню выбора.

#!/bin/bash

echo

echo -n "Ваше любимое растение? "

read

echo "Ваше любимое растение: $REPLY."

# REPLY хранит последнее значение, прочитанное командой "read" тогда, и только тогда

#+ когда команде "read" не передается имя переменной.

echo

echo -n "Ваш любимый фрукт? "

read fruit

echo "Ваш любимый фрукт $fruit."

echo "но..."

echo "Значение переменной \$REPLY осталось равным $REPLY."

# Переменная $REPLY не была перезаписана потому, что

# следующей команде "read", в качестве аргумента была передана переменная $fruit

echo

exit 0

$SECONDS

Время работы сценария в секундах.

#!/bin/bash

# Автор: Mendel Cooper

# Дополнен переводчиком.

#

TIME_LIMIT=10

INTERVAL=1

echo

echo "Для прерывания работы сценария, ранее чем через $TIME_LIMIT секунд, нажмите Control-C."

echo

while [ "$SECONDS" -le "$TIME_LIMIT" ]

do

# Оригинальный вариант сценария содержал следующие строки

# if [ "$SECONDS" -eq 1 ]

# then

# units=second

# else

# units=seconds

# fi

#

# Однако, из-за того, что в русском языке для описания множественного числа

# существует большее число вариантов, чем в английском,

# переводчик позволил себе смелость несколько подправить сценарий

# (прошу ногами не бить! ;-) )

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных