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.
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
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.
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.
Tags bash input cocoadialog