Книга: Искусство программирования на языке сценариев командной оболочки
Пример 12-45. Пример работы с m4
Пример 12-45. Пример работы с m4
#!/bin/bash
# m4.sh: Демонстрация некоторых возможносией макропроцессора m4
# Строки
string=abcdA01
echo "len($string)" | m4 # 7
echo "substr($string,4)" | m4 # A01
echo "regexp($string,[0-1][0-1],&Z)" | m4 # 01Z
# Арифметика
echo "incr(22)" | m4 # 23
echo "eval(99 / 3)" | m4 # 33
exit 0
doexec
Команда doexec предоставляет возможность передачи произвольного списка аргументов внешней программе. В частности, передавая argv[0] (для сценариев соответствует специальной переменной $0), можно вызвать программу под другим именем, определяя тем самым, ее реакцию.
Например, Пусть в каталоге /usr/local/bin имеется программа с именем "aaa", которая при вызове doexec /usr/local/bin/aaa list выведет список всех файлов в текущем каталоге, имена которых начинаются с символа "a", а при вызове той же самой программы как doexec /usr/local/bin/aaa delete , она удалит эти файлы.
case `basename $0` in
"name1" ) реакция на вызов под именем name1;;
"name2" ) реакция на вызов под именем name2;;
"name3" ) реакция на вызов под именем name3;;
* ) действия по-умолчанию;;
esac
- Пример 12-39. Использование seq для генерации списка аргументов цикла for
- Пример 12-40. Использование getopt для разбора аргументов командной строки
- Пример 12-41. Захват нажатых клавиш
- Пример 12-42. Надежное удаление файла
- Пример 12-43. Генератор имен файлов
- Пример 12-44. Преобразование метров в мили
- Пример 12-45. Пример работы с m4
- Инструмент командной строки gfix
- 1.2.3. Стрелки (Arrow)
- 12. Лекция: Создание приложений с графическим интерфейсом пользователя.
- Модули констукторов заданий
- Речевые модули для «холодного» звонка с целью назначить встречу
- 5.3.5. Пример работы клиента SSH
- Листинг 10.1. Пример работы протокола FTP
- Пример A-20. Функции для работы со строками
- Демонстрация приемов работы на конкретном примере
- 6.9. Демонстрация приемов работы на конкретном примере
- Приложение 4 Примеры входных и результирующих файлов для курсовой работы
- Пример работы разработчика в тестировании