Программа обработки архивов tar


Программа обработки архивов tar - стр. 34


пользователей. Например, две команды
tar cfz archive.tar.gz file
tar -cfz archive.tar.gz file
- совершенно разные. Первый пример использует 'archive.tar.gz' как
значение для опции 'f', а потом содержит опцию 'z'. Во втором же
примере 'z' используется как значение для опции 'z'. (Мне кажется
достаточно неудобным, что getopts воспринимает оставшееся 'z' как
значение для 'f'. Я считаю, что из соображений ясности нельзя
допускать сбегания опционных букв, если какие-нибудь из них требуют
аргументов. Но это нужно для согласованности с традиционными
системами). Второй пример можно исправить многими способами. Приведу
несколько из них:
tar -cfz archive.tar.gz file
tar -cf archive.tar.gz -z file
tar cf archive.tar.gz -z file
3.2.4 Cмешанные стили опций
В одной команде tar можно перемешать все три стиля, соблюдая правила
каждого из них.
В GNU tar до 1.11.6, испольовавшем опции старого стиля, исключалась
возможность использования опций, не имеющих кратких форм. Многие
пользователи выражали возмущение по поводу дешифратора опций tar, и я
его изменил. Однако tar должен быть согласованным с другими tar.
Краткие опции должны обеспечивать полную согласованность. Так что,
если вы найдете какие-то несоответствия в дешифровке опций, сообщите,
пожалуйста, мне.
Опции старого стиля можно смешивать с современными опциями в одном и
том же вызове программы tar. Однако, опции старого стиля должны быть
представлены только одним аргументом, а современные могут даваться
только после всех аргументов опций старого стиля. Если это правило не
выполняется, современная опция может быть неправильно интерпретирована
- 55 -
как значение аргумента одной из опций старого стиля.
Например, все следующие команды совершенно эквивалентны и
иллюстрируют множество комбинаций стилей опций.
tar --create --file=archive.tar
tar --create --f archive.tar
tar --create --farchive.tar
tar --file=archive.tar --create
tar --file=archive.tar --c
tar -c --file=archive.tar
tar -c -f archive.tar



- Начало -  - Назад -  - Вперед -