Команда не найдена при запуске функции в 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 

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

Interesting Posts

Различия между виртуальными интерфейсами Atheros (ath0 и т. Д.) И несколькими физическими

Есть ли более новая версия gcc в красной шляпе?

Надлежащее управление ld.so.conf и разделяемыми библиотеками

Как подключить мой домен со связыванием в реальном www

Как извлечь одно значение из однострочных кортежей?

echo >> не работает

Shell: как читать байты двоичного файла и печатать как шестнадцатеричные?

Клавиши увеличения / уменьшения громкости, ограниченные уровнем громкости Gnome-volume «Unamplified 100%»

Слишком сложная проблема с авторизацией login_keys только для root на Solaris 11

Как установить Canon PIXMA MX882 с использованием CUPS 1.4.8 в Puppy Linux Precise 5.7.1

Разрешение Slackware Console при двойной загрузке с GRUB2 другого дистрибутива?

{exec} заставляет Conky остановиться

Прогулки Многомерные массивы в Mawk

Перенос содержимого блочного устройства LVM, обеспечивающего согласованность – моментальный снимок LVM?

Нужен сценарий оболочки для копирования файлов с длинными именами и именами

Linux и Unix - лучшая ОС в мире.