scripts interativos de shell de whiptail

scripts interativos de shell de whiptail
Scripts de shell são executados na linha de comando por padrão. No entanto, existe uma maneira de criar scripts de shell interativos e envolve o uso do comando whiptail linux. Você pode criar diferentes caixas de diálogo, fazendo seus scripts se destacarem com o whiptail.

Os scripts fazem parte da vida do Linux e, se você puder encontrar uma maneira de criar interfaces de usuário do terminal que façam as coisas parecerem mais legais, melhor. Este guia discutirá o uso do whiptail e suas diferentes caixas de diálogo com exemplos. Vamos começar.

Instalando o whiptail

Instale o whiptail usando o seguinte comando:

$ sudo apt install whiptail

Caixas de whiptail

Ao usar o whiptail, existem diferentes caixas à sua disposição. Discutiremos cada um com exemplos. Cada caixa de whiptail deve especificar o tamanho da caixa de diálogo.

Caixa de mensagem

Uma caixa de mensagem exibe uma mensagem para o leitor e só tem um botão OK, pois nenhuma resposta é necessária. Além disso, a execução do script só pode prosseguir uma vez quando o botão Enter for pressionado.

$ whiptail -msgbox "Um exemplo de uma caixa de mensagem. Pressione OK para continuar."10 50

Os 10 e 50 representam a largura e a altura.

SIM/NÃO Caixa

Onde você precisa obter a resposta do usuário com um Sim ou Não Antes de prosseguir, use o -sim não opção.

Você pode criar um script bash, como mostrado abaixo, salvá -lo, torná -lo executável e executá -lo:

Aqui está a caixa de whiptail sim/não.

A saída exibida no terminal depende do que o usuário escolhe.

Caixa de texto

Você pode exibir o conteúdo de um arquivo usando uma caixa de texto. Se o conteúdo do arquivo for suficiente e precisar ser rolado, você pode adicionar o -scrollText opção.

No nosso caso, estaremos abrindo um arquivo, whiptail.TXT.

$ whiptail -TextBox -ScrollText whiptail.TXT 10 50

Para fechar a caixa de texto, clique na tecla Enter quando o botão OK for destacado.

Barra de progresso

A sintaxe para criar uma barra de progresso é:

$ -Gauge

Você precisa definir o nome da barra de progresso e a porcentagem. Em seguida, inclua onde começar o contador. No nosso caso, nosso balcão começa de 0 a 100. Usaremos um pouco o loop para incrementar o balcão em 15 e definir um tempo de sono de 1 segundo antes do próximo incremento.

A barra de progresso deve parecer a imagem fornecida abaixo:

Caixa de senha

Quando você precisar do usuário inserir uma senha em uma caixa de entrada e ocultar o texto simples, use o -PasswordBox Para criar uma caixa de senha.

$ whiptail -Título "Enter Your Senha" -PasswordBox "Escolha uma senha forte" 10 50

O -título a opção adiciona um título à caixa de whiptail.

Depois de inserir a senha e pressionar o botão OK, a senha inserida será exibida na linha de comando.

Caixa de entrada

Você pode obter a entrada do usuário ao escrever um script e salvá -lo para uso com outras coisas. No entanto, o whiptail envia a entrada para o stderr. Portanto, você precisa reverter a direção da entrada para exibir no stdout em vez de. Para conseguir isso, você precisa adicionar 3> & 1 1> & 2 2> & 3.

Vamos criar um script bash que pede aos usuários que insira seu nome e depois exibi -lo com uma mensagem de boas -vindas usando uma caixa de mensagem.

Execute o script. A saída deve ser a primeira caixa de entrada, depois uma caixa de mensagem.

A caixa de mensagem exibirá o nome inserido.

Caixa de menu

O usuário precisa apenas pressionar a tecla Enter para uma barra de menu para selecionar um item de menu. Além disso, nenhum item padrão é definido. O item selecionado é devolvido ao stderr.

A saída será:

Caixa radiolista

Quando o usuário precisa selecionar apenas uma opção, você pode optar por usar um radiolista.

Criaremos uma lista de opções, onde o usuário pode selecionar apenas um. O item selecionado será exibido na linha de comando. aperte o barra de espaço e depois pressione a tecla Enter para escolher um item.

A saída será exibida na seguinte linha de comando:

Caixa da lista de verificação

Funciona da mesma maneira que um radiolista, mas você pode selecionar mais de um item com a lista de verificação. Além disso, você pode definir os valores padrão definindo -os SOBRE.

Nossa caixa de exibição da lista de verificação:

A saída:

Conclusão

Whiptail oferece caixas de diálogo diferentes para várias atividades. Neste artigo, abordamos a maioria das caixas de whiptail que você pode usar. Como você escolhe exibir a saída dos scripts é inteiramente baseado em sua preferência. No entanto, você pode usar a linha de comando ou caixas de whiptail, desde que funcione para você. Além disso, confira a página do Whiptail Man e o site Linuxhint para obter mais dicas.