자주 사용하는 C++이나 Javascript, kotlin 등과는 다르게 bash shell에서는 ‘if’ 조건문이 함수의 리턴 값이 0일 때 조건이 만족한다. 이것은 유닉스 전통에 따라, 성공적인 명령은 0을 반환하고 실패한 명령은 0이 아닌 값을 반환하는 규칙을 따르기 때문이다. 다음 예제를 살펴보자.

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash

my_function() {
# 어떤 작업 수행
return 0
}

if my_function; then
echo "Function was successful."
else
echo "Function failed."
fi

위 스크립트에서 ‘my_function’ 함수는 0을 반환하므로 ‘if’ 조건문이 만족되어 “Function was successful.” 이 출력된다.