Dialog в Linux Alpine

Dialog в Linux Alpine

    Пример 1
    #!/bin/sh DIALOG=${DIALOG=dialog} $DIALOG --title " Мой перый диалог " --clear \ --yesno " Привет! Перед вами мой первый диалог, \n прошу любить и жаловать (X)dialog.\n Круто, Да? " 10 40 case $? in 0) echo "Мне тоже нравится";; 1) echo "Спасибо, ваше мнение очень важно для нас";; 255) echo "Уходите, так быстро?";; esac

    DIALOG=${DIALOG=dialog} указывает, какой интерпретатор использовать
    --title это заголовок диалога
    --clear это очистка экран перед отображением диалога
    --yesno это тип диалога (закрытый вопрос)
    10 40 это размер окна
    $? это код завершения диалога (да, нет)
    255 это номер клавиши

    Пример 2
    #!/bin/sh DIALOG=${DIALOG=dialog} tempfile= `tempfile 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f $temfile" 0 1 2 5 15 $DIALOG --title "Ввод данных" --clear \ --inputbox "Привет, меня зовут bash, а тебя?\n Введите свое имя:" 16 51 2> $tempfile retval=$? case $retval in 0) echo "Очень приятно `cat $tempfile` будем знакомы" ;; 1) echo "Да ты бука..." ;; 255) if test -s $tempfile ; then cat $tempfile else echo "By!" fi ;; esac

    tempfile это команда, которая в случае успешного ввода, вернет путь к временному файлу, а в случае ошибки файл создается второй командой.
    $$ это переменная в bash, которая расширяется до собственного процесса оболочки, по другому PID исполняемого скрипта или текущей оболочки, подробнее здесь Команда trap выполняет ту или иную команду в зависимости от возвращаемого сигнала

    Пример 3
    #!/bin/sh DIALOG=${DIALOG=dialog} tempfile=`mktemp 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f tempfile" 0 1 2 5 15 $DIALOG --clear --title "Мои любимые исполнители" \ --menu "Куда бы вы хотели поехать? :" 40 60 4 \ "КНДР" "1"\ "Украина" "2"\ "Нигерия" "3"\ "Cирия" "4"\ "Ирак" "5" 2> $tempfile retval=$? choice=`cat $tempfile` case $retval in 0) echo "Незабудьте маску, ласты и крем для загара в $choice сейчас жарко" ;; 1) echo "А как же красивый загар?" ;; 255) echo "Вы нажали esc" ;; esac
    Пример 4
    #!/bin/sh # create a file to store the password output="psw.txt" # remove the password file, if already exists. trap "rm -f psw.txt" 2 15 dialog --title "Password" \ --insecure \ --clear \ --passwordbox "Please enter password" 10 30 2> $output reply=$? case $reply in 0) echo "You have entered Password : $(cat $output)";; 1) echo "You have pressed Cancel";; 255) cat $data && [ -s $data ] || echo "Escape key is pressed.";; esac # getting the value into a variable var=$(cat $output) echo $var # remove the password file rm psw.txt # create a file to store the password output="psw.txt" # remove the password file, if already exists. trap "rm -f psw.txt" 2 15 dialog --title "Password" \ --insecure \ --clear \ --passwordbox "Please enter password" 10 30 2> $output reply=$? case $reply in 0) echo "You have entered Password : $(cat $output)";; 1) echo "You have pressed Cancel";; 255) cat $data && [ -s $data ] || echo "Escape key is pressed.";; esac # getting the value into a variable var=$(cat $output) echo $var # remove the password file rm psw.txt
    Источники
    Последнее изменение: 07.10.2024 11:38


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ