bashで配列を関数に渡す方法

春にはなりましたが、まだまだ寒い日が続きますね。皆さん体調には十分気を付けてください。
一足早く桜の満開を見てきました。河津桜というやつですね。
途中歩いてて何か見たことある景色だなと思ったら、自分のプライベートで使用しているPC(Win)のデスクトップ壁紙(テーマ:Cherry Blossoms)にある景色の場所だったんですね。びっくり。

えー、今回のブログの件名、、どこにでもありそう、、手抜き、、、じゃありません。
立派なTipsです。。。。と言い切ります。。

巷では色々なやり方が紹介されているようですが、なんだかムヅカシイことをやってるのが多いようですので、モットモお手軽な方法(のはず)を紹介します。
※ただし、配列要素自体に空白が含まれる場合は使えませんので、他の方法でゴニョゴニョやってください(無責任)。

bashで以下のように一片たりとも脳ミソを使用せずに配列を関数に渡しますと、


以下のようになっちゃいます。自業自得です。
ダブルクォーテーションで配列を囲むとか悲しくて涙が出てくるぐらいに無駄な抵抗です。
空白で分割された値がそれぞれの引数に渡されるからです。


@を*に変えます。


おおっ

というわけです。
そうです。@マークをコメ印に変えるだけです。
・・・考えてみれば当たり前のことなんですが、

因みに、要素に空白がある場合は、、、「ゴニョゴニョやってね」と突き放したもののオモイヤリがモットーであることを思い出しました。ハイ。やります。


ん~、クォーテーションつけなおして “eval” を使うという、、、
なんかスマートさに欠けますがしょうがないのかな。一応結果は意図したものですが、関数にもとの配列渡してねえじゃんというツッコミが来そう。。


・・・次回カッコイイのちゃんと書きます。

※記事の内容は保証はしておりません(執筆時期や実施環境により挙動が変わるものがある為)。
別途検証してご利用いただくことをおすすめいたします。