dialog

since 2023-03-28

dialog というコマンドがあるんですよ。。

<html> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">dialog の使い方を教えてもらった<a href="https://t.co/6T3vk91KW8">https://t.co/6T3vk91KW8</a> <a href="https://t.co/KPthAcGJ2c">pic.twitter.com/KPthAcGJ2c</a></p>&mdash; にしもつ (@24motz) <a href="https://twitter.com/24motz/status/1640690865042771968?ref_src=twsrc%5Etfw">March 28, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </html>

sudo apt-get install dialog
#!/bin/bash
 
while true; do
    # 名前を取得するダイアログ
    dialog --title "名前入力" \
           --inputbox "名前を入力してください:" 8 40 \
           2> /tmp/name.txt
 
    # ユーザーがキャンセルした場合、スクリプトを終了
    if [ $? -ne 0 ]; then
        rm -f /tmp/name.txt
        clear
        exit 0
    fi
 
    # ダイアログの結果を変数に格納
    name=$(cat /tmp/name.txt)
 
    # 年齢を取得するダイアログ
    dialog --title "${name}さんの年齢入力" \
           --inputbox "年齢を入力してください:" 8 40 \
           2> /tmp/age.txt
 
    # ユーザーがキャンセルした場合、名前入力に戻る
    if [ $? -ne 0 ]; then
        rm -f /tmp/age.txt
        continue
    fi
 
    # ダイアログの結果を変数に格納
    age=$(cat /tmp/age.txt)
 
    # 結果を表示するダイアログ
    dialog --title "入力結果" \
        --msgbox "あなたの名前は${name}で、年齢は${age}歳です。" 8 40
 
    # 一時ファイルを削除
    rm -f /tmp/name.txt
    rm -f /tmp/age.txt
 
    # スクリプトを終了
    clear
    exit 0
done
dialog.txt · 最終更新: 2023/03/29 09:35 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0