ユーザーがMIRROR環境変数の値を選択できるようにbashスクリプトを作成する方法は?

ユーザーがMIRROR環境変数の値を選択できるようにbashスクリプトを作成する方法は?

私は現在、呼び出し時にユーザーにSabayonのミラーリストから選択するように要求するBash関数を作成しています。ただし、各オプションに国や接続速度などのミラーに関する情報が含まれていることを願っています。現在、次のBash機能があります。

function sabayon-mirror {
  L=('ftp://mirrors.coopvgg.com.ar/sabayon/ 
  ftp://gd.tuwien.ac.at/linux/sabayonlinux/
  ftp://mirror.optusnet.com.au/sabayon')
  select x in "${L[@]}"
  do
    export MIRROR="$x"
  done
}

各URLの後にミラー情報を追加すると、その情報が選択できる別のオプションと見なされます。

編集:Chaosの答えは私が元々望んでいたものでしたが、各ミラーを手動でリストする必要はありませんが、代わりにリモートリストから取得できる答えがある場合でも聞きたいです。

ベストアンサー1

どのように:

function sabayon-mirror {
  L=('Info about mirror 1 - ftp://mirrors.coopvgg.com.ar/sabayon/' 
  'Info about mirror 2 - ftp://gd.tuwien.ac.at/linux/sabayonlinux/'
  'Info about mirror 3 - ftp://mirror.optusnet.com.au/sabayon')
  select x in "${L[@]}"
  do
    export MIRROR="${x#*-}"
  done
}

情報はプロジェクトの一部です。ただし、変数の値をエクスポートすると削除されます。

おすすめ記事