5.3. Bash º¯¼ö´Â ŸÀÔÀÌ ¾ø´Ù(untyped)

Bash ´Â ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾îµé°ú´Â ´Þ¸®, º¯¼ö¸¦ "ŸÀÔ"À¸·Î ±¸ºÐÇÏÁö ¾Ê½À´Ï´Ù. Bash º¯¼ö´Â º»ÁúÀûÀ¸·Î ¹®ÀÚ¿­ÀÌÁö¸¸ Bash °¡ ¹®¸Æ¿¡ µû¶ó¼­ Á¤¼ö ¿¬»êÀ̳ª º¯¼ö¸¦ ºñ±³ÇØ ÁÝ´Ï´Ù. ÀÌ µ¿ÀÛÀ» °áÁ¤Áþ´Â ¿ä¼Ò´Â ±× º¯¼ö°ªÀÌ ¼ýÀڷθ¸ µÇ¾î ÀÖ´Â³Ä ¾Æ´Ï³Ä ÀÔ´Ï´Ù.

¿¹ 5-4. Á¤¼ö? ¹®ÀÚ¿­?

#!/bin/bash
# int-or-string.sh
# Á¤¼ö? ¹®ÀÚ¿­?

a=2334                   # Á¤¼ö.
let "a += 1"
echo "a = $a "           # ¿©ÀüÈ÷ Á¤¼öÁÒ.
echo

b=${a/23/BB}             # ¹®ÀÚ¿­·Î º¯È¯.
echo "b = $b"            # BB35
declare -i b             # Á¤¼ö·Î ¼±¾ðÇصµ µµ¿òÀÌ µÇÁú ¾ÊÁÒ.
echo "b = $b"            # ¿©ÀüÈ÷ BB35.

let "b += 1"             # BB35 + 1 =
echo "b = $b"            # 1
echo

c=BB34
echo "c = $c"            # BB34
d=${c/BB/23}             # Á¤¼ö·Î º¯È¯.
echo "d = $d"            # 2334
let "d += 1"             # 2334 + 1 =
echo "d = $d"            # 2335

# Bash ÀÇ º¯¼ö´Â º»ÁúÀûÀ¸·Î ŸÀÔÀÌ ¾ø½À´Ï´Ù(untyped).

exit 0

º¯¼öÀÇ Å¸ÀÔÀÌ Á¤ÇØÁ® ÀÖÁö ¾Ê´Ù´Â °ÍÀº ÃູÀϼöµµ ÀÖ°í Àç¾ÓÀϼöµµ ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ®¸¦ © ¶§ ÃæºÐÈ÷ ¿©·¯ºÐ ¸¶À½´ë·Î ÇÒ ¼ö ÀÖ´Â À¯¿¬ÇÔÀ» ÁÖ°í, Äڵ带 © ¶§ °í»ýÀ» ´ú ÇÏ°Ôµµ ÇÏÁö¸¸, ¾ËÁö ¸øÇÏ´Â ¿¡·¯°¡ »ý±æ ¼öµµ ÀÖÀ¸¸ç Àû´çÇÏ°Ô ÇÁ·Î±×·¡¹ÖÇÏ´Â ½À°ü¿¡ ¹°µé ¼öµµ ÀÖ½À´Ï´Ù.

Bash °¡ ÀÌ ÀϵéÀ» ÇØ ÁÖÁö ¾Ê±â ¶§¹®¿¡, ÇÁ·Î±×·¡¸Ó°¡ ½ºÅ©¸³Æ®¿¡¼­ ¾²ÀÌ´Â º¯¼ö°¡ ¾î¶² ŸÀÔÀÎÁö °è¼Ó ±â¾ïÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.