はじめに
こんにちは、イメージ・マジックのもあいです。bashで簡単なツールを作っているときに、つまらない内容ではまってしまったので、備忘録としておいておきます。
bashで関数
あまり、bashで関数は作らないのですが、スクリプトの長さがそこそこあるのとパラメータによる分岐があったので関数かしてソースコードを整理していた時に、スクリプトが正常に動作しなくなってしまいました。そのソースコードの主な抜粋は下記のようになります。#!/bin/bash
FIRST=${1}
function add ()
{
echo add function
}
function remove ()
{
echo remove function;
}
if [ "${FIRST}" = "add" ]; then
add
elif [ "${FIRST}" = "remove" ]; then
remove
else
echo ${0} add|remove 以下使い方
fi
そしてこのスクリプトを実行したときの結果は下記の通り
remove function
想定としては「add|remove 以下使い方」が表示されることでしたが、remove関数実行されてしまいました。