Как эмулировать возвращаемые произвольные значения из функций оболочки?

Функции оболочки – это просто утверждения, и они не возвращают значения. Может ли кто-нибудь поделиться наилучшей практикой при написании функций, возвращающих значения в bash?

Предположим, что у меня есть функция, которая объединяет две строки:

JoinStrings() { returnValue="$1$2" } 

Как повторно использовать эту функцию в моем коде? Как получить returnValue для возврата вызывающему абоненту? Должен ли я просто использовать его как глобальный после вызова этой функции? Это приводит ко многим ошибкам с глобальными переменными везде … Как добиться повторного использования кода в оболочке?

One Solution collect form web for “Как эмулировать возвращаемые произвольные значения из функций оболочки?”

В Unix и GNU стандартным выходом функции можно считать возвращаемое значение.

Вот пример использования расширения командной оболочки $(...) :

 JoinStrings() { echo "$1$2" } joined_strings=$(JoinStrings string1 string2) echo string1 and string2 joined are $(JoinStrings string1 string2) 

Для использования в функциях есть оператор return оболочки, который устанавливает код выхода (код состояния) команды. Код выхода – это небольшое целое число.

  • Возврат значения из функции bash
  • Почему мне нужно нажать enter, чтобы получить приглашение моей оболочки после завершения скрипта init.d?
  • Как grep слово после / summary / в переменной и хранить слово в новой переменной в сценарии bash
  • В терминале Linux существует разница между «bash foo.sh» и «./foo.sh»,
  • Вывод последней даты изменения в другой файл?
  • Простой «переменный» файл Bash
  • Показать видеофайлы с его размером
  • Пара арифметических связанных команд, Dash, POSIX shell, sh, Increment
  • Bash - Как найти все файлы НЕ в массиве
  • Bash regex, строка соответствия из двух строк
  • Получить нагрузку на процессор ядра в сценарии оболочки
  • Linux и Unix - лучшая ОС в мире.