Не непосредственно через zip
, но (cd test && zip -r ../test.zip *)
должен сделать.
Править: Я не знаю об опции в zip, которая позволяет эквиваленту tar -cf test.tar -C test .
(который делает точно, что Вы хотите).
Некоторые полезные инструменты:
set[1132994]: Полезен для просмотра параметров текущей оболочки, экспортируется или нет
set -k[1132996]: Устанавливает [1132997]назначенный args[1132998] в окружении. Рассмотрим [1132999]f() { set -k; env; }; f a=1
export[1133010]: Говорит оболочке поместить имя в окружение. Экспорт и присвоение - две совершенно разные операции.
env -i[1133018]: Полезно для очистки среды перед запуском подпроцесса.
name=val command[1133020] # Assignment before command exports that name to the command.
declare/local -x name[1133022] # Export name, особенно полезно в функциях оболочки, когда вы хотите избежать выведения имени за пределы области видимости.
Используя [1132434]export[1132435], вы говорите оболочке добавить переменную оболочки в окружение. Вы можете протестировать это, используя [1132436]printenv[1132437] (который просто печатает свое окружение в [1132438]stdout[1132439], так как это дочерний процесс, вы видите эффект [1132440]export[1132441]ing переменных):