Отладка функций bash

Итак, здесь у меня есть простая функция, которую я хочу отлаживать. Однако я не могу отлаживать желаемую функцию, даже set -o functrace включен параметр set -o functrace . Прежде чем приступать к задаче этого вопроса, мне удалось найти возможное решение, которое не дало желаемых результатов, которое находится здесь .

Как я могу заставить bash отлаживать мои функции?

 #!/bin/bash echo "Hello World" hello() { echo "Hello world" } 

вывод:

 user@mac11:53:29~/desktop bash -x debug.sh + echo 'Hello World' Hello World user@mac11:54:55~/desktop 

2 Solutions collect form web for “Отладка функций bash”

но этот ответ в ссылке, похоже, работает ……..

  Kaizen ~/so_test $ cat zhello.sh set -x ; set -o functrace hello() { name=$1; echo "Hello , how are you $name"; } hello "itin" ; 

выход:

  Kaizen ~/so_test $ ./zhello.sh + ./zhello.sh -- script was run ++ set -o functrace ++ hello itin -- function was invoked ++ name=itin -- variable assigned within the function hello ++ echo 'Hello , how are you itin' Hello , how are you itin -- printed the output from the function ... 

Мне немного любопытно, есть ли что-то конкретное, что вы ищете?

Функция hello() не была вызвана в конце скрипта. Ошибка пользователя.

  • Переключиться на родительскую оболочку без выхода из системы
  • Блок блокировки внутри определяет ключевое слово в одной логической строке в make-файле
  • Оболочка и приложения
  • Режим vi не отображается корректно на новом терминале
  • Shell Script для вставки строк между файлами
  • Есть ли одна '03 зарегистрированная UNIX, которая не может делать rm -foo в этот момент?
  • Я переместил новую программу в папку bin, но ничего не происходит, когда я пытаюсь запустить ее
  • Переключиться на локальную сессию с удаленного SSH
  • Команды запуска «без» терминала
  • Выполнять скрипт оболочки напрямую, без .sh-файла
  • Почему мои стрелочные клавиши не работают в sh?
  • Backticks как слова в цикле for приводят к странному поведению
  • Interesting Posts

    Семейство файловой системы EXT: Почему первый суперблок начинается со смещения 1024?

    маленький экран в виртуальных ботах, установленных ОС

    Как я могу получить скорость чтения / записи на жестком диске с использованием данных / proc / diskstats?

    Centos / RHEL 7: обновление OpenSSL недоступно

    включить и отключить сеть виртуального удаленного сервера

    Поиск файлов с использованием сценария оболочки

    Как изменить каталог загрузки пакета Synaptic Package Manager, когда я выбираю «скачать только»?

    Есть ли способ написать плагин tmux, чтобы выбрать одну строку?

    разархивировать файл из другой папки

    Список только скрытых файлов (а не только файлов точек) с использованием псевдонима ls

    Webmin перестала работать после обновления до Stretch

    Что такое PKG_PATH для бинарных установок NetBSD 6.0.1?

    alias vs export для простых команд

    Как запустить Docker daemon в автономном режиме при запуске

    Терминал не принимает вставленные или напечатанные строки длиной более 1024 символов

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