param でスクリプトを実行します-A AA/BB
。AA と BB の配列を取得するには、これを行うことができます。
INPUT_PARAM=(${AIRLINE_OPTION//-A / }) #get rid of the '-A ' in the begining
LIST=(${AIRLINES_PARAM//\// }) # split by '/'
これを 1 行で実現できますか?
前もって感謝します。
一方通行
IFS=/ read -r -a LIST <<< "${AIRLINE_OPTION//-A /}"
これは、パラメーター置換からの出力を${AIRLINE_OPTION//-A /}
「here-string」に配置し、bashread
組み込みを使用してこれを配列に解析します。分割は、コマンドにto/
の値を設定することによって実現されます。IFS
/
read
awk
たとえば、 を使用すると、配列を作成して変数に格納できますLIST
。
$ LIST=($(awk -F"[\/ ]" '{print $2,$3}' <<< "-A AA/BB"))
結果:
$ echo ${LIST[0]}
AA
$ echo ${LIST[1]}
BB
-F"[\/ ]"
は、スペースまたはスラッシュの 2 つのフィールド区切り文字を定義します/
。'{print $2$3}'
これらのセパレーターに基づいて 2 番目と 3 番目のフィールドを出力します。