Script para listar pendrive

1. Script para listar pendrive

Carlos Henrique Sá
carloskh

(usa Ubuntu)

Enviado em 27/07/2017 - 17:52h

Boa tarde,

Preciso fazer um script parecido com o do clonezila, onde em uma tela vou escolher o arquivo que vou gravar e em outra o destino, que pode ser variavel, pq uso um gravador de cartão SD.

como consigo fazer isso?
pra fazer os comando manualmente faço da seguinte forma:

#dmesg

vejo onde foi montado o cartão que preciso gravar (sdb, sdc ...)

#umont /dev/sdb

#pv /media/user/ARQUIVO/arquivo-09062017A.img | sudo dd of=/dev/sdb bs=4M
sync


como cada vez monta o cartão SD com uma unidade diferente tenho sempre que fazer o demesg pra garantir que não da errado.
e tenho 5 arquivos diferentes para escolher.
atualmente tenho 5 arquivos diferentes e quero fazer um só. e estou com dificuldade para localizar o ponto do SD sei que no clonezila tem essa opção mas não consegui estudar ainda.

teriam alguma ideia de como me ajudar?


  


2. Re: Script para listar pendrive

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/07/2017 - 20:36h

carloskh escreveu:

Boa tarde,

Preciso fazer um script parecido com o do clonezila, onde em uma tela vou escolher o arquivo que vou gravar e em outra o destino, que pode ser variavel, pq uso um gravador de cartão SD.

como consigo fazer isso?
pra fazer os comando manualmente faço da seguinte forma:

#dmesg

vejo onde foi montado o cartão que preciso gravar (sdb, sdc ...)

#umont /dev/sdb

#pv /media/user/ARQUIVO/arquivo-09062017A.img | sudo dd of=/dev/sdb bs=4M
sync


como cada vez monta o cartão SD com uma unidade diferente tenho sempre que fazer o demesg pra garantir que não da errado.
e tenho 5 arquivos diferentes para escolher.
atualmente tenho 5 arquivos diferentes e quero fazer um só. e estou com dificuldade para localizar o ponto do SD sei que no clonezila tem essa opção mas não consegui estudar ainda.

teriam alguma ideia de como me ajudar?


velho ... v se isso te ajuda na escolha do dispositivo
#!/bin/bash
disp=$(df -h | cut -d' ' -f 1 | grep "/dev" | sed 's/.$//' > temp.txt)
cat -n temp.txt
echo "escolha o dispositivo"
read linha
echo "Você escolheu o dispositivo $linha"
cat "temp.txt" | head -"$linha" | tail -1
rm -rf temp.txt


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



3. Re: Script para listar pendrive

Carlos Henrique Sá
carloskh

(usa Ubuntu)

Enviado em 28/07/2017 - 09:19h

Mauriciodez escreveu:

carloskh escreveu:

Boa tarde,

Preciso fazer um script parecido com o do clonezila, onde em uma tela vou escolher o arquivo que vou gravar e em outra o destino, que pode ser variavel, pq uso um gravador de cartão SD.

como consigo fazer isso?
pra fazer os comando manualmente faço da seguinte forma:

#dmesg

vejo onde foi montado o cartão que preciso gravar (sdb, sdc ...)

#umont /dev/sdb

#pv /media/user/ARQUIVO/arquivo-09062017A.img | sudo dd of=/dev/sdb bs=4M
sync


como cada vez monta o cartão SD com uma unidade diferente tenho sempre que fazer o demesg pra garantir que não da errado.
e tenho 5 arquivos diferentes para escolher.
atualmente tenho 5 arquivos diferentes e quero fazer um só. e estou com dificuldade para localizar o ponto do SD sei que no clonezila tem essa opção mas não consegui estudar ainda.

teriam alguma ideia de como me ajudar?


velho ... v se isso te ajuda na escolha do dispositivo
#!/bin/bash
disp=$(df -h | cut -d' ' -f 1 | grep "/dev" | sed 's/.$//' > temp.txt)
cat -n temp.txt
echo "escolha o dispositivo"
read linha
echo "Você escolheu o dispositivo $linha"
cat "temp.txt" | head -"$linha" | tail -1
rm -rf temp.txt


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------


Quase deu certo mas ele só lista os pontos já montados, e preciso que liste tbm o que não está montado ainda pois tem dispositivos que não montam automaticamente.



4. Re: Script para listar pendrive

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 28/07/2017 - 13:39h

Boa tarde.
Segue sugestão:
dmesg| egrep ' \[sd[a-z]\] [0-9]+ '|sed 's/\[[0-9. ]\+\] \|\[\|\]//g'|awk '{print "["NR"]",$3}'

att.:
Marcelo Oliver


5. Re: Script para listar pendrive

José da Silva
zenull

(usa Outra)

Enviado em 28/07/2017 - 14:39h

Outra opção seria usar o comando lsblk.
Para tela de opções pode usar o zenity.
Como exemplo tenho um script que listo todos os pendrives conectados (ignorando as partições) montados ou não. Uso a seguinte linha:
lsblk -np -o NAME,TRAN | grep usb | awk '{print $1}' 



6. Re: Script para listar pendrive

Carlos Henrique Sá
carloskh

(usa Ubuntu)

Enviado em 31/07/2017 - 09:15h

zenull escreveu:

Outra opção seria usar o comando lsblk.
Para tela de opções pode usar o zenity.
Como exemplo tenho um script que listo todos os pendrives conectados (ignorando as partições) montados ou não. Uso a seguinte linha:
lsblk -np -o NAME,TRAN | grep usb | awk '{print $1}' 


Parece que consegui assim que tiver o script 100% eu posto aqui

quero conseguir colocar as opções em um whiptail e montar uma telinha pra ficar bonito tbm ;)


Obrigado


7. Re: Script para listar pendrive

José da Silva
zenull

(usa Outra)

Enviado em 01/08/2017 - 02:33h

carloskh escreveu:
quero conseguir colocar as opções em um whiptail e montar uma telinha pra ficar bonito tbm ;)

A não ser que seja obrigado a usar whiptail por alguma circunstância, o zenity é mais "bonitinho".
http://www.bosontreinamentos.com.br/shell-script/zenity-exibindo-caixas-de-dialogo-com-scripts-do-sh...

Tem também o Yad: https://www.vivaolinux.com.br/artigo/Apresentando-o-Yad-zenity-melhorado



8. Re: Script para listar pendrive

Pekman
pekman

(usa Outra)

Enviado em 01/08/2017 - 03:29h

Já existe um super, hyper, mother fucker script que faz isso.

https://github.com/jamielinux/bashmount






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts