Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Array

Bom dia,

Acredito que o código esteja errado ao realizar a compactação, pois ele deveria usar um array para salvar mais de um arquivo. Neste caso a correção seria essa: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá, Pedro!

Você está correto ao sugerir o uso de arrays para lidar com múltiplos arquivos. No script original, a variável arquivos armazena todos os nomes dos arquivos como uma única string. Ao usar um array, você pode manipular cada arquivo individualmente.

No seu exemplo, a modificação principal é a utilização da opção -a no comando read, que armazena os arquivos em um array chamado arquivos. Depois, na linha do comando tar, você usa ${arquivos[@]} para expandir todos os elementos do array como argumentos separados.

Aqui está uma explicação do que foi feito:

read -p "Lista de arquivos separados por espaço:" -a arquivos
  • -a arquivos: Lê a entrada do usuário e armazena cada item separado por espaço em um array chamado arquivos.
tar -czf "$arquivo_saida" "${arquivos[@]}"
  • ${arquivos[@]}: Expande todos os elementos do array arquivos como argumentos separados para o comando tar.

Essa abordagem permite a manipulação dos arquivos de forma mais flexível dentro do script.

Bons estudos!