gravador de dvd [RESOLVIDO]

1. gravador de dvd [RESOLVIDO]

Cristiano
sempreslack

(usa Slackware)

Enviado em 27/05/2015 - 18:10h

Olá galera. Bem, resolvi aprender shell script de vez, que será a primeira linguagem de programação que vou estudar. Não gosto muito do termo estudar, prefiro o termo me divertir, rsrs.
Então. Li algumas coisas sobre shell, peguei um tópico meu, na verdade, uma dica que eu dei, mas na época era Bem mais simples do que agora.
http://www.vivaolinux.com.br/dica/Copiando-CDs-e-DVDs-pelo-terminal-com-facilidade/
Escolhi ele pra brincar um pouco, acho que o tema gravação de cd/dvd vai me dar boas possibilidades de diversão, rsrs.
Então vamos ao tal script "aprimorado"


#!/bin/bash
# Autor : Cristiano Campos Rodrigues
# Data : 25/05/2015
echo "Esse programa faz a copia de um dvd, deseja continuar? s para sim e n para nao"
read RESPOSTA
test "$RESPOSTA" = "n" && exit
echo "criando a imagem"
cat /dev/sr0 > /tmp/imagem.iso
echo "imagem criada, verificando md5sum"
md5sum /dev/sr0
md5sum /tmp/imagem.iso
if [ "md5sum" != "md5sum" ]; then
echo "Arquivo corrompido, favor refazer a operacao. Vou deletar o arquivo criado no processo, nao se preocupe"
rm /tmp/imagem.iso
else
echo "md5sum correto, podemos continuar? digite s para sim e n para nao"
read RESPOSTA1
test "$RESPOSTA1" = "n" && echo "removendo o arquivo gerado" && rm /tmp/imagem.iso && exit
fi
echo "Insira um dvd virgem na media"
read -p " [Enter] para continuar"
echo "gravando a imagem no dvd"
growisofs -dvd-compat -Z /dev/sr0=/tmp/imagem.iso
echo "DVD gravado com sucesso, Gostaria de remover a imagem? digite s para sim e n para nao"
read RESPOSTA2
if [s!=n]
echo "imagem removida"
rm /tmp/imagem.iso
echo "divirta-se"
then
echo "Ja que optou por nao remover a imagem, indique o caminho completo para onde ela deve ser armazenada"
read CAMINHO
mv /tmp/imagem.iso $CAMINHO
echo "divirta-se"
fi


O problema está no final, na verdade não sei o que é. Está na última série if.
Por algum motivo, quando o shell pergunta se quer remover a imagem, não importa se eu diga que quero, ele simplesmente ignora, continua e pergunta pra onde eu quero mover a imagem, mesmo que eu tenha dito anteriormente pra remover.
Não faço idéia de como resolver isso, apenas sei que conforme o erro que aparece ele não está enxergando as opções s e n como respostas.
DVD gravado com sucesso, Gostaria de remover a imagem? digite s para sim e n para nao
s #esse s é a resposta, dizendo que quero remover a imagem
/usr/bin/gravadvd: line 27: [s!=n]: command not found
imagem removida
divirta-se
Ja que optou por nao remover a imagem, indique o caminho completo para onde ela deve ser armazenada

mv: missing destination file operand after '/tmp/imagem.iso'
Try 'mv --help' for more information.
divirta-se

Grato pela ajuda desde já.
Aproveitando, alguem teria algum material filé pra eu brincar um pouquinho? ;)


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/05/2015 - 18:34h

Fim do código:

if [s!=n]
echo "imagem removida"
rm /tmp/imagem.iso
echo "divirta-se"
then <----------------------------------------------------- AQUI
echo "Ja que optou por nao remover a imagem, indique o caminho completo para onde ela deve ser armazenada"
read CAMINHO
mv /tmp/imagem.iso $CAMINHO
echo "divirta-se"
fi


THEN tem que estar logo depois do IF. Faça as alterações.

--
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

3. Re: gravador de dvd [RESOLVIDO]

Cristiano
sempreslack

(usa Slackware)

Enviado em 27/05/2015 - 20:25h

hum sim, entendi. então o then é depois, no lugar do que coloquei seria então o else.
Interessante que mesmo fazendo essa mudança não deu certo, por causa de uma coisa que eu não tinha reparado.
no if [s!=n] tem um problema, fui descobri agora. O shell dá como erro. o que deu certo é if [ s != n ]
Tentei de outro jeito também


read RESPOSTA2
test "$RESPOSTA2" = "s" && echo "imagem removida" && rm /tmp/imagem.iso && echo "divirta-se" && exit
echo "Já que optou por não remover a imagem, indique o caminho completo para onde ela deve ser armazenada"
read CAMINHO
mv /tmp/imagem.iso $CAMINHO
echo "divirta-se"


esse deu certo ;)
Agora, havia tentado fazer uma comparação entre os md5sum e não tinha conseguido assim, deu algo como excesso de argumentos ou algo assim.
O que eu tinha tentado fazer era o seguinte
um arquivo que contém uma série de md5, tipo uns 10.

cristiano@linux-3vxj:~> cd ~/isos/
cristiano@linux-3vxj:~/isos> ls
007.iso ubuntu-15.04-desktop-amd64.iso
driversnote.iso Windows10_InsiderPreview_x32_PT-BR_10074.iso
Metamorphose_7.1.8-Tiger.iso
cristiano@linux-3vxj:~/isos> md5sum *.iso > isos.md5

eu queria que ele lesse o arquivo, encontrasse o md5sum correspondente e verificasse se está ok. Como eu poderia fazer isso?


4. Re: gravador de dvd [RESOLVIDO]

Cristiano
sempreslack

(usa Slackware)

Enviado em 27/05/2015 - 20:53h

pensei no test, juntando os comandos
md5sum $Nome
cat ~/isos/isos.md5 | grep $Nome
Mas quando vou rodar, dá erro de excesso de argumentos ou algo assim. Não consigo fazer pelo test


5. Re: gravador de dvd [RESOLVIDO]

Cristiano
sempreslack

(usa Slackware)

Enviado em 29/05/2015 - 00:28h

bem galera, vou colocar o tópico como resolvido, enquanto isso vou me aprofundando mais, vai ser ótimo conhecer um pouco mais de shell script. Abraço a todos vocês






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts