Eu tava aki sem fazer nada, então fiz um code com uma intefacezinha grafica para descompactar arquivos,
eu fiz com o xdialog então tera q ter ele instalado, ele suporta arquivos rar, zip, tar e tar.gz
ele ñ ta bem enxutinho, mas da p usar, quaquer erro é só comentar...
flw.
#!/bin/bash
# by Imoogi
# Interface grafica para descompactar arquivos, suporta arquivos rar, zip, tar e tar.gz.
progress='Xdialog title "Unpacking" --progress "Unpacking" 7 60 "1" "100"'
file=$(Xdialog --stdout --backtitle "Select file" --title "Select file" --fselect "$HOME" 0 0)
paste=$(Xdialog --stdout --backtitle "Select paste for save file" --title "Select paste for save file" --dselect "$HOME" 0 0)
if [[ $file == *.zip ]]
then
cd $paste
unzip $file | $progress
elif [[ $file == *.rar ]]
then
cd $paste
unrar e $file | $progress
elif [[ $file == *.tar ]]
then
cd $paste
tar -xf $file | $progress
elif [[ $file == *.tar.gz ]]
then
cd $paste
tar -zxf $file | $progress
else
Xdialog --title "Notice" --msgbox "Notice: File not supported" 7 40
fi
Também tava aqui sem fazer nada, dei uma olhada no script e curti.
Bom tralho Imoogi. ;)
Peguei ele e resolvi fazer umas pequenas modificações.
Quando o usuario clicar em cancelar em algum estágio do prog. ou terminar de descompactar um arquivo, ele vai pra janela final perguntando se ele realmente deseja sair, caso nao queira ele volta pro começo do prog.
E substitui os IFs da vida por um case. Agora tá filé (;
O resultado é esse ai:
#!/bin/bash
# by Imoogi
# Interface grafica para descompactar arquivos, suporta arquivos rar, zip, tar e tar.gz.
# modificado em 30/10/09 por chmod007
while : ; do
progress='Xdialog title "Descompactando" --progress "Descompactando arquivo" 7 60 "1" "100"'
file=$(Xdialog --stdout --backtitle "Escolha o arquivo a ser decompactado" --title "Escolha o arquivo" --fselect "$HOME" 0 0)
[ $? -eq 0 ] && paste=$(Xdialog --stdout --backtitle "Selecione a pasta destino" --title "Selecione a pasta destino" --dselect "$HOME" 0 0)
[ $? -eq 0 ] && case $file in
*.zip )
cd $paste
unzip $file | $progress
;;
*.rar )
cd $paste
unrar e $file | $progress
;;
*.tar )
cd $paste
tar -xf $file | $progress
;;
*.tar.gz )
cd $paste
tar -zxf $file | $progress
;;
* )
Xdialog --title "Aviso!" --msgbox "Aviso: Arquivo não suportado" 7 40
;;
esac
Xdialog --title "Deseja sair do programa?" --yesno "Deseja realmente sair do programa?" 0 0
[ $? == 0 ] && break
done
E não comentei o código porque tava com preguiça, hahahaha 8)
blz chmod777, muito bom :D