Perguntas sobre funções whiptail e bash

2
  • Digamos que eu tenha este script:

    #!/bin/bash
    
    function cpp-lang {  
    yum install "Development Tools"  
    }
    function updatesys { 
    yum -y update 
    yum -y upgrade
    }
    
         whiptail --checklist "test" 5 40 5\
                    Update "Update the system" on \
                    C++ "Install C++" off 2>results 
    
    while read choice 
    do
          case $choice in
            Update )updatesys
             ;;
            C++)cpp-lang
             ;;
             *)
             ;;
             esac
             done < results
    

    Quando eu o executo, sai, devo retornar algo da função?

  • Considerando o script acima como exemplo, devo executar sudo toda vez que eu chamar yum install ou estiver fazendo sudo ./script.sh suficiente?

por Lynob 30.01.2015 / 15:22

1 resposta

2

Basicamente (a segunda questão, é claro, sobre como o sudo deve ser usado com mais eficiência), é uma questão de julgamento:

  • No script, há três chamadas para yum . Se o script testou no início se está sendo executado como root e o sudo teria que ser executado, isso tornaria um script mais simples.
  • Por outro lado, algumas pessoas podem comentar que executar exclusivamente como root torna menos seguro testar a parte interativa (caso você continue a desenvolver e expandir o script, incluindo a especificação do nomes de pacotes diretamente). Minha própria inclinação seria fornecer uma opção de linha de comando para permitir que o script fosse testado e apenas mostrasse (ou registre) os comandos correspondentes que seriam executados.

Por exemplo:

  • o que acontece se whiptail não estiver instalado?
  • se $choice não for uma palavra, pode ser útil citá-la na instrução case .
  • o que acontece se o yum reportar um erro (o usuário vê isso ou há outra chamada para whiptail depois)?
por 04.10.2016 / 22:08