Автор Тема: Нужно прокоментировать небольшой шелскрипт из линукса  (Прочитано 1767 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн IceMonk

  • Коллежский регистратор
  • *
  • Сообщений: 1
  • Репутация: 0
Задание было следующим - Сжать файлы: а) все файлы с учетом подкаталогов текущего каталога; б) все файлы кроме файлов с указанными пользователем расширениями.

Возможно кто то может добавить коментарии к этому скрипту:
#!/bin/sh

if [ "x$1" = "x" ] || [ "x$2" = "x" ]; then
    echo "Usage: $0 <to> <archive> [file]"
    echo " to:"
    echo "   screen  show list on screen"
    echo "   file    output list to file"
    exit 255
fi

case "$1" in
    "screen")
    tar -tf $2
    ;;
    "file")
    if [ "x$3" = "x" ]; then
echo "Missing filename"
exit 255
    fi
    tar -tf $2 > $3
    ;;
    *)
    echo "Wrong parameter"
    exit 255
    ;;
esac
Нужен ещё алгоритм,но может кто нибудь чем то сможет помочь. Нужно срочно.
Заранее спасибо.

Оффлайн aureliano

  • Надворный советник
  • *****
  • Сообщений: 400
  • Репутация: 19
Собственно, данный скрипт не только ничего не сжимает, но даже не упаковывает, т. к. команда tar с опцией -t выводит список файлов из существующего (несжатого) tar-архива, в 1-ом случае на экран, во втором в другой файл. Для создания нового несжатого архива используется опция "-c", а для сжатия этого архива -- опция "-z" либо "-j". В первом случае для сжатия вызывается gzip при его наличии, а во втором -- bzip2 (сжимает немного лучше gzip'а) при его наличии. А сам по себе tar ничего не сжимает. Так что приведённый скрипт выполняет другую задачу.