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

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

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

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

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

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

@を*に変えます。

おおっ

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

・・・我々愚かな人間は、得てして機械にとっては当たり前のことに対して悩むわけです。
しかし、決してここで落ち込んではいけません。気持ちを前向きにケ・セラ・セラと唱えるのがいいでしょう。

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

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

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

この記事を書いた人

アバター

渡邉 浩康

長野県 長野市出身

好きなもの:

古いもの、古い場所、地図、音楽(60's~70's プログレとか)、ストラトキャスター、つげ義春とかの漫画、野球(星の球団)、赤5筒、納豆、冷奴(木綿豆腐)、秋刀魚、蕎麦、茹で卵、心太、お酒

あせらず、楽しく、のんびりいきましょう。