+ Responder ao Tópico



  1. galera boa noite , sou iniciante no linux preciso Desenvolve um Shell script chamado infosystem.sh que receba um parâmetro
    que é uma HD (Exemplo /dev/sda), Se o usuário informar uma HD que não existe (/dev/sdz por exemplo),
    exibir uma mensagem e abortar todo o processamento. Para verificar se
    existe, compare com o /proc/partitions.
    Como eu listo os tipos de partiçoes e faço a comparaçao , nao to conseguindo desenvolve isso.

    alguem pode me ajuda , obrigada http://forum.imasters.com.br/public/...ault/smile.png

  2. Citação Postado originalmente por daya Ver Post
    galera boa noite , sou iniciante no linux preciso Desenvolve um Shell script chamado infosystem.sh que receba um parâmetro
    que é uma HD (Exemplo /dev/sda), Se o usuário informar uma HD que não existe (/dev/sdz por exemplo),
    exibir uma mensagem e abortar todo o processamento. Para verificar se
    existe, compare com o /proc/partitions.
    Como eu listo os tipos de partiçoes e faço a comparaçao , nao to conseguindo desenvolve isso.

    alguem pode me ajuda , obrigada
    Bem-vinda ao Under-Linux

    Vou dar umas dicas, mas, por enquanto, não o código pronto.

    O propósito de /proc/partitions não é mostrar os discos rígidos, e sim a informação de alocação de partições. Logo, não é adequadamente correto o uso deste pseudo-arquivo-dispositivo para sua necessidade. O uso de /proc/partitions está diretamente relacionado com /proc/devices.

    Para listar seus discos, precisa do seguinte comando:

    Código :
    lsblk -io KNAME,TYPE

    Usando grep, você filtra só pelo que for disco rígido:

    Código :
    lsblk -io KNAME,TYPE | grep disk

    Agora você obtém somente a primeira coluna, com uso de awk:

    Código :
    lsblk -io KNAME,TYPE | grep disk | awk '{print $1}'

    Considerando que todos os scripts, em ambiente POSIX, quando executados, o primeiro argumento é $1. Com isso, a ideia é filtrar e comparar se o argumento informado está contido na relação de discos existentes

    Use o comando basename para separar o nome disco somente, caso o usuário informe o caminho completo do disco.

    Exemplo:
    Código :
    basename /dev/sda

    Vamos à lógica:

    Código :
    SE DISCO INFORMADO EXISTE NO VETOR DE DISCOS, ENTÃO:
        PROSSEGUE
    SENÃO:
        ABORTA

    Você pode montar um vetor com xargs, ou iterar com uso de do, for, foreach, until ou while.

    Enfim, com isso você já pode dar início ao seu código

    Espero ter ajudado.

    Saudações,






Tópicos Similares

  1. Respostas: 0
    Último Post: 29-04-2010, 09:34
  2. + shell script com o diabo no código !!!
    Por The-shadow no fórum Linguagens de Programação
    Respostas: 3
    Último Post: 07-05-2006, 10:20
  3. Script que envia espaço no HD por telnet
    Por amra no fórum Servidores de Rede
    Respostas: 2
    Último Post: 28-03-2006, 12:17
  4. Shell Script: Diretorio com espaço no nome
    Por nod3vic3 no fórum Linguagens de Programação
    Respostas: 5
    Último Post: 06-07-2005, 07:51
  5. script que nao inicia no boot
    Por demiurgo no fórum Servidores de Rede
    Respostas: 1
    Último Post: 17-03-2003, 17:02

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L