3.1. Á¾·á¿Í Á¾·á »óÅÂ

exit ¸í·É¾î´Â C ÇÁ·Î±×·¥¿¡¼­Ã³·³ ½ºÅ©¸³Æ®¸¦ ³¡³¾ ¶§ ¾¹´Ï´Ù. ½©¿¡ ¾î¶² ƯÁ¤ÇÑ °ªÀ» µ¹·Á ÁÙ ¼öµµ ÀÖ½À´Ï´Ù.

¸ðµç ¸í·É¾î´Â Á¾·á »óÅÂ(exit status) (°¡²û ¸®ÅÏ »óÅÂ(return status) ¶ó°íµµ ÇÏ´Â)¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¿¡·¯°¡ ¾øÀ» ¶§´Â 0À» ¸®ÅÏÇÏ°í ¿¡·¯°¡ ÀÖÀ» ¶§´Â non-zero¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¶§ non-zero °ªÀº ¿¡·¯ ÄÚµå·Î ÇØ¼® ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ºñ½ÁÇϰÔ, ½ºÅ©¸³Æ® ¼ÓÀÇ ÇÔ¼ö³ª ½ºÅ©¸³Æ® ÀÚüµµ Á¾·á »óŸ¦ ¸®ÅÏÇÕ´Ï´Ù. ½ºÅ©¸³Æ®³ª ¸¶Áö¸·À¸·Î ½ÇÇàµÈ ÇÔ¼ö°¡ Á¾·á »óŸ¦ °áÁ¤ÇÕ´Ï´Ù. ½ºÅ©¸³Æ® »ó¿¡¼­ exit nnÀ̶õ ¸í·É¾î·Î Á¾·á »óÅÂ, nnÀ» ½©¿¡°Ô Àü´ÞÇÒ ¼ö ÀÖ½À´Ï´Ù(nn Àº 0 - 255 »çÀÌÀÇ ½ÊÁø¼ö).

$?Àº ½ºÅ©¸³Æ®³ª ÇÔ¼öÀÇ Á¾·á »óŸ¦ ³ªÅ¸³À´Ï´Ù.

예 3-1. Á¾·á¿Í Á¾·á »óÅÂ

#!/bin/bash

echo hello
echo $?
# ¸í·É¾î°¡ ¿¡·¯ ¾øÀÌ ¼º°øÀûÀ¸·Î ³¡³µ±â ¶§¹®¿¡
# Á¾·á »óÅ 0ÀÌ ¸®Åϵ˴ϴÙ.

lskdf
# ÀÌ·± ¸í·É¾î´Â ¾ø°ÚÁÒ?
echo $?
# 0ÀÌ ¾Æ´Ñ Á¾·á »óŰªÀÌ ¸®Åϵ˴ϴÙ.

echo

exit 143
# ½©¿¡ 143À» ¸®ÅÏÇÕ´Ï´Ù.
# È®ÀÎÇØ º¸·Á¸é ½ºÅ©¸³Æ®°¡ ³¡³­´ÙÀ½¿¡ $? ¶ó°í Ãĺ¸¼¼¿ä.

# °ü½ÀÀûÀ¸·Î 'exit 0'Àº ¼º°øÀ» ³ªÅ¸³»°í,
# 0ÀÌ ¾Æ´Ñ Á¾·á °ªÀº ¿¡·¯³ª ºñÁ¤»óÀûÀÎ »óŸ¦ ³ªÅ¸³À´Ï´Ù.

# ´Ù¸¥ ÇÁ·Î¼¼½ºµé°ú Åë½ÅÀ» ÇÑ´ÙµçÁö ´Ù¸¥ ½ºÅ©¸³Æ®µé°ú ÆÄÀÌÇÁ·Î ¿¬°áµÇ´Â 
# °æ¿ìµî¿¡¼­ Á¾·á »óŸ¦ ¾²´Â °Íµµ ±¦Âú½À´Ï´Ù.