はじめに
こんにちは、イメージ・マジックのもあいです。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関数実行されてしまいました。