ダイアログメニューはファイルを表示し、それらの1つを選択します。

ダイアログメニューはファイルを表示し、それらの1つを選択します。

メニューのディレクトリの下にあるすべてのファイルを表示し、/homeそのうちの1つだけを選択したいと思います。これにより、スクリプトは選択したファイルのフルパスを印刷します。

次のスクリプトを作成しました。このスクリプトはダイアログメニューにのみファイルを表示します。

#!/bin/bash
dialog --title "List file of directory /home" --msgbox "$(ls /home )" 100 100

ベストアンサー1

会話Xdialogなどのファイル選択およびディレクトリ選択ウィジェットがあります。

--fselect を使用したダイアログボックスの図

これを使用するには、OPのスクリプトは次のようになります。

#!/bin/bash
dialog --title "List file of directory" --fselect /home 100 100

100x100ウィンドウはかなり大きく見えますが。これマニュアルページより良い代替提供:

ほとんどのウィジェットは、複数行のメッセージプロンプト値に合わせてウィジェットのサイズを自動的に調整するために使用できる高さと幅のパラメータを受け入れます。

  • パラメータが負の場合、ダイアログボックスは画面サイズを使用します。
  • 引数が0の場合、ダイアログボックスはウィジェットの最小サイズを使用してプロンプトとデータを表示します。
  • それ以外の場合、ダイアログはウィジェットの指定されたサイズを使用します。

実行できるスクリプトのみを制限したい場合は、whiptailこの--radiolistオプションが最適です--menu

おすすめ記事