Bom dia,
Ao rodar o shell comp_descomp.sh, tomo sempre erro tar: /root/devops/texto2.txt /root/devops/texto3.txt: Cannot stat: No such file or directory, apesar de os arquivos exisistirem
root@DESKTOP-JHEH44T:~/devops# ls /root/devops/texto*.txt
/root/devops/texto2.txt /root/devops/texto3.txt
root@DESKTOP-JHEH44T:~/devops# ls -l /root/devops/texto*.txt
-rw-r--r-- 1 root root 6 Mar 14 16:10 /root/devops/texto2.txt
-rw-r--r-- 1 root root 7 Mar 14 16:10 /root/devops/texto3.txt
Não consigo entender onde pode estar o erro.
Meu shell comp_descomp.sh:
root@DESKTOP-JHEH44T:~/devops# cat comp_descomp.sh
#! /bin/bash
read -p "Entre com a operação desejada ('compactar' ou 'descompactar'): " operacao
case "$operacao" in
"compactar")
read -p "Nome do arquivo final (.tar.gz): " arquivo_saida
read -p "Lista de arquivos a serem compactados, separados por espaço: " arquivos
tar -czf "$arquivo_saida" "$arquivos"
echo "Compactados com sucesso em $arquivo_saida"
;;
"descompactar")
read -p "Nome do arquivo a descompactar (.tar.gz)" arquivo
read -p "Diretório de destino" diretorio
tar -xzf "$arquivo" -C "$diretorio"
echo "Descompactado com sucesso em $diretório"
;;
*)
echo "Operação inválida"
echo "Selecione descompactar ou compactar"
exit 1
;;
esac
Tentei invocar o shell também sem passar o caminho dos arquivos, mas o erro continua
root@DESKTOP-JHEH44T:~/devops# ./comp_descomp.sh
Entre com a operação desejada ('compactar' ou 'descompactar'): compactar
Nome do arquivo final (.tar.gz): textos_2026.03.14_16.11.tar.gz
Lista de arquivos a serem compactados, separados por espaço: texto2.txt texto3.txt
tar: texto2.txt texto3.txt: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
Tentei executar o comando tar sozinho e funziona corretamente:
root@DESKTOP-JHEH44T:~/devops# tar -czf textos_2026.03.14_16.10.tar.gz texto2.txt texto3.txt
root@DESKTOP-JHEH44T:~/devops# ls -ltr
total 100
-rw-r--r-- 1 root root 46 Mar 12 21:48 arquivo_2.txt
-rw-r--r-- 1 root root 202 Mar 12 21:50 compactado.tar.gz
drwxr-xr-x 2 root root 4096 Mar 12 21:59 dir2
drwxr-xr-x 2 root root 4096 Mar 12 22:01 dir3
drwxr-xr-x 2 root root 4096 Mar 12 22:01 dir1
drwxr-xr-x 2 root root 4096 Mar 12 22:05 Docs
-rw-r--r-- 1 root root 45 Mar 12 23:22 backup_20260312_232222.tar.gz
-rw-r--r-- 1 root root 728 Mar 12 23:24 backup_20260312_232410.tar.gz
-rwxr-xr-x 1 root root 185 Mar 12 23:24 backup.sh
-rw-r--r-- 1 root root 728 Mar 12 23:25 backup_20260312_232552.tar.gz
-rw-r--r-- 1 root root 125 Mar 13 22:17 saida.tar.gz
-rwxr-xr-x 1 root root 188 Mar 13 22:25 verifica_2_inputs.sh
-rwxr-xr-x 1 root root 121 Mar 13 22:41 verifica_path.sh
-rwxr-xr-x 1 root root 260 Mar 13 22:55 compactador.sh
drwxr-xr-x 2 root root 4096 Mar 13 23:00 03.08.Prática20260313_230010
drwxr-xr-x 2 root root 4096 Mar 13 23:01 03.08.Prática_BKP_20260313_230134
drwxr-xr-x 6 root root 4096 Mar 14 00:03 03.08.Prática
-rw-r--r-- 1 root root 125 Mar 14 15:57 textos.tar.gz
-rw-r--r-- 1 root root 45 Mar 14 15:59 2026.03.14_15.58.tar.gz
-rwxr-xr-x 1 root root 731 Mar 14 16:06 comp_descomp.sh
-rw-r--r-- 1 root root 125 Mar 14 16:07 textos_2026.03.14.tar.gz
-rw-r--r-- 1 root root 45 Mar 14 16:08 textos_2026.03.14_16.08.tar.gz
-rw-r--r-- 1 root root 6 Mar 14 16:10 texto2.txt
-rw-r--r-- 1 root root 7 Mar 14 16:10 texto3.txt
-rw-r--r-- 1 root root 148 Mar 14 16:10 textos_2026.03.14_16.10.tar.gz
root@DESKTOP-JHEH44T:~/devops# tar -tvf textos_2026.03.14_16.10.tar.gz
-rw-r--r-- root/root 6 2026-03-14 16:10 texto2.txt
-rw-r--r-- root/root 7 2026-03-14 16:10 texto3.txt
Aproveitando, gostaria de saber qual o diretório de execução do shell, em outras palavras: é necessário especificar o caminho absoluto dos arquivos quando eles estão na mesma pasta do shell? Se sim, por quê?
Obrigado