Não diretamente através de zip , mas (cd test && zip -r ../test.zip *) deve fazer.
Edit: Eu não sei de uma opção no zip que permita o equivalente a tar -cf test.tar -C test . (que faz exatamente o que você quer).
Estou aprendendo zip e encontrei algo que não consigo entender em man zip . Quando eu executar zip -r $folder $folder , ele irá zipar todo o conteúdo corretamente, mas o conteúdo do zip é o seguinte:
zip
|-folder
|--files
|--files
Isso é irritante para mim e eu queria que o resultado do zip fosse:
zip
|-files
|-files
Sugestões sobre como criar um arquivo zip com o nome da pasta e todo o conteúdo?
zip -rj $folder $folder
Removerá os diretórios ao adicionar arquivos ao arquivo. com info-zip .
Eu percebi o que eu esqueci quando perguntei a um amigo. No loop, eu defini um global variable para o local. No for loop eu esqueci de adicionar cd $folder antes do processo zip que fez com que ele zipasse a pasta e o conteúdo.
Tags zip