Você não precisa de um script; a seguinte linha de comando é suficiente:
for dir in */; do tar cvzf "${dir%*/}".tar.gz "$dir"/; done
Eu tenho um diretório que contém muitas pastas e arquivos compactados. Eu preciso compactar as pastas que ainda não são (tar-cvzf ...), mas não tenho experiência em scripts sh. Alguém pode me ajudar a escrever esse roteiro, por favor?
Você não precisa de um script; a seguinte linha de comando é suficiente:
for dir in */; do tar cvzf "${dir%*/}".tar.gz "$dir"/; done