関数の呼び出し順で「command not found」のエラー

2022-09-10

シェルスクリプトで関数の場所を間違えると「command not found」になる

関数を使ったシェルスクリプトで関数の呼び出す場所は、定義した関数より前に書くと「command not found」や「Main: コマンドが見つかりません」のエラーになります

$ vi test.sh
#/bin/bash

echo_test

function echo_test () {
  echo "TEST"
}

$ sh test.sh
test.sh: line 3: echo_test: command not found

定義した関数は呼び出す位置より前に書くとエラーなく関数が実行されます

$ vi test.sh
#/bin/bash

function echo_test () {
  echo "TEST"
}

echo_test

$ sh test.sh
TEST