Script para montar/desmontar cdrom e disquete

Publicado por Sandro Marcell 05/03/2007

[ Hits: 6.828 ]

Homepage: http://sanmarcell.wordpress.com

Download modes




Está é uma versão melhorada do script Monta_X, que postei aqui no VOL. Ele monta cdrom ou disquete mostrando uma barra de progresso e abre o gerenciador de arquivos escolhido, mostrando o conteúdo do dispositivo.

Ah! É necessário o Xdialog. Espero que gostem!

  



Esconder código-fonte

#!/bin/bash

# MoDes - Montador/Desmontador de dispositivos
# Script escrito por: SANDRO MARCELL P. BARBOSA
# E-mail: sandro_marcell@yahoo.com.br
# Slackware GNU/Linux 10.1

PERCENTO=0
CDROM=/dev/cdrom
DISQUETE=/dev/fd0
PONTO_MONTAGEM_CD=/mnt/cdrom
PONTO_MONTAGEM_DT=/mnt/floppy
GERENCIADOR_DE_ARQUIVOS=konqueror # substitua pelo seu gerenciador favorito!

Verificando_CD-ROM () { 
if fgrep -q $PONTO_MONTAGEM_CD /etc/mtab; then
Xdialog --title "MoDes" --msgbox "O CD-ROM já está montado!" 6 40
exit 1
fi 
}

Verificando_Disquete () { 
if fgrep -q $PONTO_MONTAGEM_DT /etc/mtab; then
Xdialog --title "MoDes" --msgbox "O disquete já está montado!" 6 40
exit 1
fi 
}

Checando_Montagem_CD-ROM () { 
if ! fgrep -q $PONTO_MONTAGEM_CD /etc/mtab; then
AVISO
exit 1
fi
}

Checando_Montagem_Disquete () { 
if ! fgrep -q $PONTO_MONTAGEM_DT /etc/mtab; then
AVISO
exit 1
fi
}

AVISO () { Xdialog --title "MoDes" --backtitle "Ocorreu o seguinte problema:" --no-cancel --textbox "/tmp/.erro" 0 0 ; rm -rf /tmp/.erro ; }

Rodando () { ps $1 | fgrep -q $1 > /dev/null; }

OPÇÃO=$(Xdialog --stdout --title "MoDes" --no-tags --menu "O que você deseja fazer?" 0 0 0 \
1 "Montar CD-ROM" \
2 "Montar Disquete" \
3 "Desmontar CD-ROM" \
4 "Desmontar Disquete" \
5 "Sair")

case $OPÇÃO in

1)
# Montar CD-ROM
Verificando_CD-ROM
mount $CDROM 2> /tmp/.erro& 

MONTAGEM=$!
(
while Rodando $MONTAGEM
do
PERCENTO=$[ $PERCENTO+1 ]
echo "$PERCENTO"
sleep 0.5
done
echo "100"
) | Xdialog  --title "MoDes" --gauge "Montando CD-ROM... Aguarde!" 6 40 0

Checando_Montagem_CD-ROM

Xdialog --title "MoDes" --msgbox "CD-ROM montado!" 6 40

$GERENCIADOR_DE_ARQUIVOS $PONTO_MONTAGEM_CD&
;;

2) 
# Montar Disquete
Verificando_Disquete
mount $DISQUETE 2> /tmp/.erro& 

MONTAGEM=$!
(
while Rodando $MONTAGEM
do
PERCENTO=$[ $PERCENTO+1 ]
echo "$PERCENTO"
sleep 0.5
done
echo "100"
) | Xdialog  --title "MoDes" --gauge "Montando disquete... Aguarde!" 6 40 0

Checando_Montagem_Disquete

Xdialog --title "MoDes" --msgbox "Disquete montado!" 6 40

$GERENCIADOR_DE_ARQUIVOS $PONTO_MONTAGEM_DT&
;;

3) 
# Desmontar_CD-ROM
Xdialog --title "MoDes" --no-buttons --infobox "Desmontando CD-ROM... Aguarde!" 6 50 

if umount $CDROM 2> /tmp/.erro; then
eject || Xdialog --title "MoDes" --no-buttons --infobox "O comando eject falhou!" 6 40
Xdialog --title "MoDes" --msgbox "CD-ROM desmontado!" 6 40

else
AVISO
fi 
;;

4) 
# Desmontar Disquete
Xdialog --title "MoDes" --no-buttons --infobox "Desmontando disquete... Aguarde!" 6 50 

if umount $DISQUETE 2> /tmp/.erro; then
Xdialog --title "MoDes" --msgbox "Disquete desmontado!" 6 40

else
AVISO
fi 
;;

5) 
# Sair
exit ;;

esac





Scripts recomendados

Criar arquivo.toc para gravar CD com o cdrdao

Música com a real beleza da matemática

conversor de bases no shell

Barra de progresso

Tradutor: ept ( English to Portuguese )


  

Comentários
[1] Comentário enviado por SMarcell em 18/03/2007 - 17:29h

Aqui há uma versão melhorada e atualizada desse script:

>> http://www.slackbr.org/forum/viewtopic.php?t=4316

Falou!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts