Сравнительно недавно попалась на глаза информация о функциях в bash, и оказалось - это то, что мне нужно, чтобы не плодить скрипты. Они, оказывается, способны обрабатывать опции. В связи с этим, чтобы удобнее было создавать zip-архивы из чего угодно и поменьше тыкать по клавишам, накидал вот такую функцию, и поместил ее в ~/.bashrc
function zipp(){
if [ -d "$1" ]; then out=`basename "$1"`".zip"; fi
if [ -f "$1" ]; then out=`echo $1 | sed 's/\(.*\)\..*$/\1/g'`".zip"; fi
zip -r -9 "$PWD/$out" "$1"
}
if [ -d "$1" ]; then out=`basename "$1"`".zip"; fi
if [ -f "$1" ]; then out=`echo $1 | sed 's/\(.*\)\..*$/\1/g'`".zip"; fi
zip -r -9 "$PWD/$out" "$1"
}
В ней проверяется, что сжимаем, каталог или файл, если файл - то отсекается расширение, если каталог - берется его имя без полного пути. После этого к имени добавляется ".zip", и передается архиватору как имя файла создаваемого архива.
Опции -r и -9 означают архивирование со всеми вложенными файлами с максимальной степенью сжатия.
Теперь, вместо того, чтобы писать в консоли
$ zip -9 -r myfolder.zip myfolder/
я пишу
$ zipp myfolder
Неправда ли, намного удобнее?
Комментариев нет:
Отправить комментарий