ダイアログボックス付きのダウンロードマネージャ

ダイアログボックス付きのダウンロードマネージャ

function view_historyダイアログボックスを使用してダウンロードマネージャを作成しようとしていますが、infobox()を使用してダウンロード履歴を表示することはできません。

Error: Expected no more than 3 tokens for --infobox, have 5.
Use --help to list options.

私の他の質問:

動作させることはできますが、cat $HOME/dmlog.txtスクリプトに明示的なコマンドがたくさんあるため、スクロールしないとcatコマンドの出力を見ることはできません。どうすればいいですか? sleepコマンドを試しましたが、正しく設計されていないようです。

ベストアンサー1

--tailbox file height-width は、"tail -f" コマンドなど、ダイアログボックスにファイルのテキストを表示します。

textboxテキストファイルを表示してスクロールするには、aを使用します。

--textbox file height width textbox を使用すると、ダイアログボックスにテキストファイルの内容を表示できます。単純なテキストファイルビューアと同じです。ユーザーは、ほとんどのキーボードでカーソル、ページの上、ページの下、およびHOME / ENDキーを使用してファイル内を移動できます。行がボックスに収まらないほど長い場合は、左/右キーを使用してテキスト領域を水平にスクロールできます。

文書:https://linux.die.net/man/1/dialog

TextboxDialog() {
dialog "Example" --textbox "/PathTo/File.txt" 20 50
}

そして、その機能の使用にはいくつかの問題があります。()ファイルパスを忘れて引用しました。""

したがって、関数は次のようになります。

function view_history() {
    dialog --textbox "$HOME/dmlog.txt" $HEIGHT $WIDTH
}


ユーザーに一部の情報を表示するには、その情報をメッセージボックスまたは情報ボックスに表示します。ユーザー操作後に実行する必要があるメニューを制御できます。

メッセージが表示されたら、他のアクションを呼び出すことができます。評価する

${NextMenu}必要な機能を呼び出します。 $NextMenu変数は関数名を格納します。

     InfoDialog(){

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --no-cancel --title "$MenuName" --msgbox "$InfoText" 20 50
    ${NextMenu}
}

何かを制御するために使用される[はい/いいえ]ダイアログボックスと同じです。

YesNoDialog() {

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --yes-label "OK" --no-label "STOP" --defaultno --title "$MenuName" --yesno "$InfoText" 20 50
    answer=$?
    if [ $answer = 0 ]
    then            
        ${NextMenu}
    else
        MainMenu
    fi      
}   

関数の外部に過度に与えられた変数を設定し、その変数を使用して関数を呼び出すことを忘れないでください。例:

InfoDialog(){

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --no-cancel --title "$MenuName" --msgbox "$InfoText" 20 50
    ${NextMenu}
}

MenuName="$1"
InfoText="$2"
NextMenu="$3"
InfoErrorDialog $MenuName $InfoText $NextMenu**

おすすめ記事