Você não pode usar .*
, porque esse shell glob também corresponderá a .
e ..
(diretório atual e pai), causando o comportamento que você descreveu.
Mas, de qualquer forma, não é necessário, você pode usar a opção zip -r
sozinha. Deixe-me citar a página de manual man zip
:
-r
--recurse-paths
Travel the directory structure recursively; for example:
zip -r foo.zip foo
or more concisely
zip -r foo foo
In this case, all the files and directories in foo are saved in
a zip archive named foo.zip, including files with names starting
with ".", since the recursion does not use the shell's file-name
substitution mechanism. If you wish to include only a specific
subset of the files in directory foo and its subdirectories, use
the -i option to specify the pattern of files to be included.
You should not use -r with the name ".*", since that matches
".." which will attempt to zip up the parent directory (proba‐
bly not what was intended).
Multiple source directories are allowed as in
zip -r foo foo1 foo2
which first zips up foo1 and then foo2, going down each direc‐
tory.
[...]
Você apenas especifica a pasta que deseja compactar, como:
zip -r yourfile.zip /var/app/current
Ou se o seu diretório atual já é /var/app/current
, apenas:
zip -r yourfile.zip .