Команда не найдена при запуске функции в bash

Я пытаюсь создать базовый сценарий bash, который закрывает экран, а затем запускает новый.

restart.sh

#!/bin/bash set -o nounset set -o errexit trap 'echo "Aborting due to errexit on line $LINENO. Exit code: $?" >&2' ERR set -o errtrace set -o pipefail SCR="bunny" SCRIPT="/home/../run.sh" target_screen=$(find_screen $SCR) main() { if find_screen $SCR >/dev/null; then close_screen start_script fi } function start_script { echo "Starting script with new screen" screen -d -m -t $SCR sh $SCRIPT } function close_screen { if find_screen $SCR >/dev/null; then echo "Found! Deleting $SCR" screen -S -X $target_screen quit fi } function find_screen { if screen -ls "$1" | grep -o "^\s*[0-9]*\.$1[ "$'\t'"](" --color=NEVER -m 1 | grep -oh "[0-9]*\.$1" --color=NEVER -m 1 -q >/dev/null; then screen -ls "$1" | grep -o "^\s*[0-9]*\.$1[ "$'\t'"](" --color=NEVER -m 1 | grep -oh "[0-9]*\.$1" --color=NEVER -m 1 2>/dev/null return 0 else echo "$1" return 1 fi } main "$@" 

Однако при запуске этого скрипта на Ubuntu 16.04 я получаю следующее:

  ./restart.sh: line 12: find_screen: command not found Aborting due to errexit on line 12. Exit code: 127 

Что я делаю не так?