TGViewer
DevOps | Вопросы собесов DevOps | Вопросы собесов @easy_devops · 5.57K subscribers
Post #2605 843
🤔 Что возвращает функция в bash?

В Bash функция возвращает код завершения (exit status), который представляет собой числовое значение от 0 до 255. Это значение используется для указания успешного или неуспешного выполнения функции. По умолчанию, если явно не указано возвращаемое значение, функция возвращает код завершения последней выполненной команды внутри нее.

🚩Как возвращать значения из функции?

🟠Код завершения (exit status)
Чтобы явно задать код завершения функции, используется команда return.
my_function() {
if [[ $1 -gt 0 ]]; then
return 0 # Успех
else
return 1 # Ошибка
fi
}

my_function 5
echo $? # Выведет 0 (успех)


🟠Вывод данных через `echo`
Для передачи данных из функции (например, строки или числа) можно использовать echo. Вывод можно перехватить через подстановку команд $()
my_function() {
echo "Hello, $1!"
}

result=$(my_function "world")
echo "$result" # Выведет "Hello, world!"


🟠Изменение глобальных переменных
Функция может менять значения глобальных переменных, которые затем используются за ее пределами
my_function() {
result=$(( $1 + $2 ))
}

my_function 3 7
echo $result # Выведет 10


🚩Почему это важно?

🟠Код завершения
Используется в сценариях для проверки, выполнилась ли функция успешно. Значение 0 обычно означает успех, а любое другое число — ошибку.

🟠Вывод через `echo`
Удобен для передачи данных из функции.

🟠Изменение переменных
Полезно, если функция должна сохранять данные для дальнейшей обработки.

# Функция проверки файла
check_file() {
if [[ -f $1 ]]; then
echo "Файл $1 существует."
return 0
else
echo "Файл $1 не найден."
return 1
fi
}

# Вызов функции
check_file "/etc/passwd"
status=$? # Сохраняем код завершения
if [[ $status -eq 0 ]]; then
echo "Продолжаем работу..."
else
echo "Останавливаемся из-за ошибки."
fi


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 1
More from @easy_devops
  1. Oct 11, 2026Post #2900
  2. Oct 11, 2026🤔 Какой будет ID в Podman? Podman использует тот же механизм контейнеризации, что и Docke…
  3. Oct 11, 2026🤔 Зачем нужен стейт в Terraform? Файл terraform.tfstate хранит текущее состояние инфрастр…
  4. Oct 10, 2026🤔 Если удалить terraform.tfstate, а потом сделать terraform init — что будет? - terraform…
  5. Oct 10, 2026🤔 Что касается безопасности где хранить переменные секреты? Хранение секретных переменных…
  6. Oct 9, 2026🤔 Можно ли на лету изменить настройки DNS в контейнере через CLI? Да, можно: docker exec…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →