GilsonDeElt
(usa Nenhuma)
Enviado em 03/06/2008 - 14:41h
Boa tarde a todos.
Meu colega me mandou por e-mail as apostilas de sistemas microprocessados que o professor nos passou, e ele mandou as apostilas por capítulo, totalizando 15 pacotes .rar.
Abri o Konqueror, selecionei os 15, cliquei com o botão direito, e selecionei extrair aqui.
O Konqueror abriu um monte de janelinhas do extrator do do Ark, com aquela barra de progresso, mas no fim só extraiu dois pacotes.
Eu poderia extrair os pacotes um a um, mas resolvi fazer um script para resolver isso.
Feito o script, ele começa bem seu funcionamento, mas ao chegar ao 8º arquivo, dá o seguinte erro:
./all-extractor: line 18: ((: 08: value too great for base (error token is "08")
Eu não sei como resolver este problema, aí vim cá pedir ajuda.
Desde já agradeço a ajuda!
Ah!, e aqui está o código-fonte do script:
#!/bin/bash
#
# Extrator de arquivos em lote
# Baseado no meu renomeador de arquivos em lote (change-name), que é
# baseado num dos "scripts de teste" copiados de um
# artigo do VOL enquanto estou aprendendo ShellScript
#
# Gilson Júnio <gilsondeelt@oi.com.br>
# 03-06-2008, às 13:59
#
# ChangeLog:
# 03-06-2008 - Editado o meu script "change-name" para criar este
# - "Lançada" a versão 0.1 deste script, com o nome de 'all-extract'
# - Adicionado o 'clear' inicial e a mensagem "Extração completa!"
# - Corrigido o erro de não considerar os números iniciados com zero, como "01"
clear
for((i=01; i <= 15; i++));
do
if [ $i -ge 10 ]; then # Este 'if' é para diferenciar os números de
i=$i # 01 a 09 dos de 10 em diante...
else
i=0$i # Esta linha transforma os números de 1 a 9 em
# 01 a 09, para extrair os arquivos corretamente
fi
echo "Extraindo arquivo Capítulo$i.rar" # Mensagem de arquivo sendo extraído
echo ""
unrar x Capítulo$i.rar # este comando extrai o arquivo, criando uma pasta
# com o nome do mesmo
sleep 1 # Espera um segundo
if [ $i = 09 ]; then # Este 'if olha se o valor de 'i' é 09
i=9 # Se sim, torna i=9, para não atrapalhar o
fi # restante do script
done
echo "Extração completa!" # Fim de jogo!