2016-07-02 7 views
1

から変数を読み込む、メニューを作成します。バッシュ - 私はバッシュでメニューを構築しようとしているキーボード

エコーオプション1 エコーオプション2 エコーオプション3 エコーオプション4 ... オプション3 =のls -l /ホーム/テスト/ |トイレ-l今

、ユーザーは、例えばオプション3を選択した場合、私は、ユーザーが入力したものを読むことができました。3.

オプションに固有のLinuxコマンドを呼び出すためにはbashをしたいと思いますしかし、私はオプション3をリンクすることができません例えば、ユーザがキーボードに入力する数字3を使用します。

$どのオプションを使用しますか:3 オプション3を選択しました。続行しますか?Y

ホームディレクトリに20個のファイルがあります。

何かがそうです。

+0

質問をフォーマットしてください。あなたが書いたことを理解するのは難しいです。既に試したコードを表示し、投稿する前にウェブを検索してみることをお勧めします。 例については、http://askubuntu.com/questions/1705/how-can-i-create-a-select-menu-in-a-shell-scriptを参照してください。 (またはウェブで「bash menu」を検索してください)。 –

答えて

0

ユーザー入力を取得するreadを使用していると仮定すると、それはあなたが、その後のようなものをテストすることができREPLY変数に(デフォルトで)現れる:あなたはあなたの入力をしたい場合

read 
if [[ "${REPLY}" = "3" ]] ; then 
    echo You entered 3 
fi 

別の変数は、あなただけの称賛とのことを供給することができます:

read userinput 
if [[ "${userinput}" = "3" ]] ; then 
: : (and so on) 

可能性がたくさんある場合は、代わりにif/elseラインの多くのcaseを使用して、おそらく方がいいでしょう、例をどの次のようになります。

case "${userinput}" in 
    0) 
     echo You entered zero 
     ;; 
    [1-9]*) 
     echo You entered something starting with one through 9 
     ;; 
    *) 
     echo What? 
     ;; 
esac