Читайте также
6.5. Пакетный ввод
К сожалению, наша функция str_cli все еще не вполне корректна. Сначала вернемся к ее исходной версии, приведенной в листинге 5.4. Эта функция работает в режиме остановки и ожидания (stop-and-wait mode), что удобно для интерактивного использования: функция отправляет
29.2. BPF: пакетный фильтр BSD
4.4BSD и многие другие Беркли-реализации поддерживают BPF — пакетный фильтр BSD (BSD Packet Filter). Реализация BPF описана в главе 31 [128]. История BPF, описание псевдопроцессора BPF и сравнение с пакетным фильтром SunOs 4.1.x NIT приведены в [72].Каждый канальный уровень
19.6. IPTables — пакетный фильтр для ядер 2.4.x. и 2.6.x
Фильтр IPTables, очень похожий на IPChains, называется так потому, что хранит цепочки правил в таблицах. Главной таблицей, в которой хранятся правила обработки всех стандартных типов трафика, является таблица filter. Именно с ней мы и будем
10.3.1. Учебный пример: файл .netrc
Файл . netrc — хороший пример стандартных правил в действии. Пример 10.1 содержит пароли, измененные в целях защиты реального пользователя.Следует отметить, что разобраться в данном формате не сложно, даже встретив его впервые. Он представляет
10.3.1. Учебный пример: файл .netrc
Файл .netrc — хороший пример стандартных правил в действии. Пример 10.1 содержит пароли, измененные в целях защиты реального пользователя.Следует отметить, что разобраться в данном формате не сложно, даже встретив его впервые. Он представляет
Пример 9-3. Еще один пример ограничения времени ожидания ввода от пользователя
#!/bin/bash# timeout.sh# Автор: Stephane Chazelas,# дополнен автором документа.INTERVAL=5 # предел времени ожиданияtimedout_read() { timeout=$1 varname=$2 old_tty_settings=`stty -g` stty -icanon min 0 time ${timeout}0 eval read $varname # или просто read $varname
Пример 10-27. Простой пример сравнения строк
#!/bin/bash# match-string.sh: простое сравнение строкmatch_string (){ MATCH=0 NOMATCH=90 PARAMS=2 # Функция требует два входных аргумента. BAD_PARAMS=91 [ $# -eq $PARAMS ] || return $BAD_PARAMS case "$1" in "$2") return $MATCH;; * ) return $NOMATCH;; esac}a=oneb=twoc=threed=twomatch_string $a # неверное число
Пример 12-20. Пример форматирования списка файлов в каталоге
#!/bin/bash# За основу сценария взят пример "man column".(printf "PERMISSIONS LINKS OWNER GROUP SIZE DATE TIME PROG-NAME
" ; ls -l | sed 1d) | column -t# Команда "sed 1d" удаляет первую строку, выводимую командой ls,#+ (для локали "С" это строка: "total N",#+ где "N" -- общее
Пример 16-10. Файл с именами "names.data", для примеров выше
AristotleBelisariusCapablancaEulerGoetheHamurabiJonahLaplaceMaroczyPurcellSchmidtSemmelweissSmithTuringVennWilsonZnosko-Borowski# Это файл с именами для примеров#+ "redir2.sh", "redir3.sh", "redir4.sh", "redir4a.sh", "redir5.sh".Перенаправление stdout для блока кода, может использоваться для сохранения
Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков"
#!/bin/bashARGS=1 # Ожидаемое число аргументов.E_BADARGS=65 # Код завершения, если число аргументов меньше ожидаемого.test $# -ne $ARGS && echo "Порядок использования: `basename $0` $ARGS аргумент(а)(ов)" && exit $E_BADARGS# Если
Пример 25-8. Пример реализации алгоритма Решето Эратосфена
#!/bin/bash# sieve.sh# Решето Эратосфена# Очень старый алгоритм поиска простых чисел.# Этот сценарий выполняется во много раз медленнее# чем аналогичная программа на C.LOWER_LIMIT=1 # Начиная с 1.UPPER_LIMIT=1000 # До 1000.# (Вы можете
Пример H-2. viewdata.sh: Результат преобразования VIEWDATA.BAT в сценарий командной оболочки
#!/bin/bash# Результат преобразования пакетного файла VIEWDATA.BAT в сценарий командной оболочки.DATAFILE=/home/bozo/datafiles/book-collection.dataARGNO=1# @ECHO OFF Эта команда здесь не нужна.if [ $# -lt "$ARGNO" ] # IF !%1==! GOTO VIEWDATAthen less
Пакетный менеджмент
Разговоры о репозиториях и политиках обновления повисают в воздухе без сравнения инструментария, обеспечивающего доступ к первым и реализацию вторых. Сравнением их мы сейчас и