Existe uma maneira de usar o inputbox e inserir várias linhas?

3

Eu quero ter uma maneira simples de inserir mensagens para os funcionários verem ao fazer login. Não precisa ser específico de datas, embora isso seja bom, mas não consigo encontrar uma maneira de usar a caixa de diálogo para permitir me para inserir várias linhas de texto antes de eu cat para o arquivo.

Pouca ajuda?

#!/bin/sh
DIALOG=${DIALOG=dialog}
tempfile='tempfile 2>/dev/null' || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15

$DIALOG --title "Bulletin Board Entry" --clear \
        --inputbox "Enter Today's Very Important\n
employee information below:" 16 51 2> $tempfile

retval=$?

case $retval in
  0)
    echo "Input string is 'cat $tempfile'";;
  1)
    echo "Cancel pressed.";;
  255)
    if test -s $tempfile ; then
  cat $tempfile
else
  echo "ESC pressed."
fi
;;
esac
    
por Robby Glasco 12.07.2012 / 18:12

2 respostas

0

Use --editbox emptyfile em vez de --inputbox . Infelizmente, isso não permitirá que você passe /dev/null em vez de emptyfile , então você terá que criar um arquivo vazio (temporário). Ou um arquivo contendo um modelo de mensagem.

    
por 16.07.2012 / 15:43
0

Como uma alternativa para dialog , você poderia simplesmente acionar um editor com o arquivo temporário. Dessa forma, cada usuário pode até mesmo usar seu $EDITOR preferido, em vez do dialog limitado pelo recurso. Muitos aplicativos fazem esse tipo de coisa quando querem entrada do usuário. Sistemas de controle de versão, em particular, vêm à minha mente aqui.

    
por 18.07.2012 / 17:27