1
|
#!/bin/bash -e
|
2
|
. "$(dirname "${BASH_SOURCE[0]}")"/util.sh
|
3
|
|
4
|
if self_not_included; then
|
5
|
|
6
|
### zip
|
7
|
|
8
|
zip()
|
9
|
{
|
10
|
echo_func
|
11
|
cmd_log_fd=1 try self "$@" || ignore 12 #"zip has nothing to do" (`man zip`)
|
12
|
}
|
13
|
|
14
|
unzip()
|
15
|
{
|
16
|
echo_func
|
17
|
local piping="$(test "$1" = -p; exit2bool)"
|
18
|
|
19
|
cmd_log_fd="$(if test ! "$piping"; then echo 1; fi)" try self "$@"
|
20
|
# cmd_log_fd: don't filter stdout if piping extracted data to it
|
21
|
if test "$piping"; then ignore_e 1; fi # unzip exits 1 on SIGPIPE
|
22
|
end_try
|
23
|
}
|
24
|
|
25
|
zip_newer() { echo_func; set_inv force; zip ${no_force:+-u }"$@"; }
|
26
|
unzip_newer() { echo_func; set_inv force; unzip ${no_force:+-u }-o "$@"; }
|
27
|
# -o is safe because -u only extracts newer files
|
28
|
|
29
|
fi
|