Donc, si je comprends bien, vous essayez d'archiver les fichiers et les dossiers dans un dossier particulier, mais sans inclure le dossier racine.
Ejemplo:
/test/test.txt
/test/test2.txt
où test.txt et test2.txt seraient stockés dans le zip, mais pas /test/
Vous pourriez vous rendre dans le répertoire /test/ puis exécuter quelque chose comme,
zip -r filename.zip ./*
Ce qui créerait une archive dans le même dossier nommée nomfichier.zip. Ou si vous l'exécutez depuis l'extérieur du dossier, vous pouvez exécuter,
zip -r test.zip test/*
Le /* est la partie qui inclut uniquement le contenu du dossier, au lieu du dossier entier.
Edit : OP voulait des zips multiples, la solution a fini par être un peu un hack, je suis curieux de savoir s'il y a une meilleure façon de le faire.
for d in */ ; do base=$(basename "$d") ; cd $base ; zip -r $base * ; mv "${base}.zip" .. ; cd .. ; done;