例:
VARIABLE1="/foo/bar"
VARIABLE2="/some/other/path"
# etc you don't know how many variables there is, maybe 3 maybe 30.
# Then :
randomfunction $VARIABLE1 $VARIABLE2 #... <- How do I replace this to something that would include every variable starting with name "VARIABLE"
編集する
誤解のある部分があり、別の言葉で表現します。
どうやって作りますか?
VAR1="foo"
VAR2="bar"
VAR3="job"
出力は次のとおりです
"foo bar job"
VARの数がわからない場合は、VAR4、VAR5などがある可能性があります。
ベストアンサー1
引数なしでコマンドを実行すると、set
セッションに設定されたすべての変数と関数が出力されます。これを念頭に置いて変数をフィルタリングし、目的の「文字列」で配列に割り当ててから配列を渡します。関数。
ALL_VARIABLES=( $(set | grep -Ea '^VARIABLE.*=' | cut -d = -f 2) )
randomfunction "${ALL_VARIABLES[@]}"
デフォルトでは、文字と等号で始まるすべての行の出力を取得し、set
それを個々の名前と値に渡し、すべての値を配列に割り当ててから拡張してパラメータとして渡します。grep
VARIABLE
cut
ALL_VARIABLES
randomfunction