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**