Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

О данном сценарии часто заходит речь, когда разработчики вопрошают: "Где же команда sed, выполняющая повторное удаление пустых строк?" Именно для этой цели и создан этот небольшой сценарий.

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

Сценарии интерпретатора shell не должны быть большими. Создание сценариев целесообразно, если при автоматизации задач экономится время пользователя.

Сценарий del.lines может обрабатывать один или несколько файлов. До того, как команда sed приступит к удалению всех пустых строк, проверяется наличие каждого файла. Поток вывода команды sed с помощью символов $$ направляется во временный файл. Затем файл перемещается обратно, заменяя исходный файл.

Чтобы просмотреть все имена файлов, применяется команда shift. Цикл while выполняется до тех пор, пока имеются обрабатываемые файлы.

Введите команду del.lines -help, в результате чего отобразится немного разреженная справочная строка. Желательно создать более удобную справочную конструкцию. Сценарий имеет следующий вид:

$ pg del.lines

#!/bin/sh

#del.lines

#сценарий получает имена файлов и удаляет из них все пустые строки

TEMP_F=/tmp/del.lines.$$

usage ()

{

# usage

echo "Usage :`basename $0` file [file..]"

echo "try `basename $0` -help for more info"

exit 1

}

if [ $# -eq 0 ]; then

usage

fi

FlLES=$1

while [ $# -gt 0 ] do

echo "..$1"

case $1 in

-help) cat << MAYDAY

Use this script to delete all blank lines from a text file(s)

MAYDAY

exit 0;;

*)FILE_NAME=$1

if [ -f $1 ]; then

sed '/^$/d' $FILE_NAME > $TEMP_F

mv $TEMP_F $FILE_NAME

else

echo "`basename $0` cannot find this file : $1"

fi

shift;;

esac

done

27.4. Сценарий access.deny

Чтобы пользователи не регистрировались в системе при введении необходимых обновлений, можно воспользоваться методом /etc/nologin, который доступен для большинства систем. Когда в каталоге /etc создается файл nologin, обычно применяется команда touch. И никто из пользователей, кроме пользователя root, не может зарегистрироваться.

Если данная система не поддерживает метод nologin, не все потеряно — можно создать подобный метод самостоятельно. Ниже показано, как это осуществить на практике.

В файл /etc/profile помещается следующий код:

if [ -f /etc/nologin ]; then

if [ $LOGNAME != "root" ]; then

echo "Sorry $LOGNAME the system is unavailable at the moment"

exit 1

fi

fi

Теперь, если требуется запретить регистрацию для всех пользователей, за исключением пользователя root, примените команду touch для создания в каталоге /etc файла nologin и удостоверьтесь, что все пользователи имеют право читать этот файл.

touch /etc/nologin chmod 644 /etc/nologin

Если необходимо вернуться к старому порядку, удалите файл nologin следующим образом:

rm /etc/nologin

Описанная методика используется для отключения всех пользователей, кроме пользователя root. Если нужно временно отключить некоторые учетные записи, можно обратиться к файлу /etc/passwd, а в качестве первого символа в поле пароля следует указать символ *. Однако такой подход применяется редко, и если пользователь недостаточно четко выполняет все действия, можно столкнуться с проблемами при работе всей системы.

Linux располагает утилитой, с помощью которой в файл login.access вводятся имена пользователей и групп. Этот файл предназначен для предоставления доступа к системе.

Рассмотрим версию утилиты под названием deny.access. Сценарий, который выполняется из файла /etc/profile, просматривает файл lockout.user. Этот файл включает имена пользователей, в регистрации которых вы не заинтересованы. Если в файле присутствует слово "all", доступ запрещается всем пользователям, кроме пользователя root.

Ниже приводится пример файла lockout.user. Этот файл может включать строки комментария.

$ pg lockout.users

#lockout.users

#поместите в этот файл имена пользователей по вашему усмотрению

#снятие системной блокировки

#Удалите из этого файла имена пользователей, чтобы пользователи могли

#вернуться назад.

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

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

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Литагент «5 редакция» , Тристан Таормино

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии