Вы должны поменять каталоги туда, где вы хотите начать, или, возможно, есть опция «архивировать», чтобы сделать это за вас.Если вам лень читать опции gazillion на странице руководства, как я, просто сначала «cd», даже в сценарии.Или вы можете заключить все в круглые скобки, не затрагивая рабочую директорию вашей оболочки или скрипта:
(cd Unwanted1/Unwanted2; zip -r ~/new.zip ./wanted/file.txt)
Или, так как вы используете -r, вы, вероятно, хотите больше, чем просто file.txt, поэтому:
(cd Unwanted1/Unwanted2; zip -r ~/new.zip wanted)
Или используйте pushd / popd для входа / выхода:
pushd Unwanted1/Unwanted2
zip -r ~/new.zip wanted
popd
Это работает в sh / bash / csh / tcsh.