°í±Þ Bash ½ºÅ©¸³ÆÃ °¡À̵å: Bash¸¦ ÀÌ¿ëÇÑ ½© ½ºÅ©¸³ÆÃ ¿ÏÀü °¡À̵å | ||
---|---|---|
ÀÌÀü | 9Àå. º¯¼ö Àç°ËÅä(Variables Revisited) | ´ÙÀ½ |
declare³ª typeset ³»Àå ¸í·É(ÀÌ µÑÀº µ¿ÀǾîÀÔ´Ï´Ù.) Ű¿öµå´Â º¯¼öÀÇ Æ¯¼ºÀ» Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ¸î¸î ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ º¼ ¼ö ÀÖ´Â ºÒ¿ÏÀüÇÑ ÇüÅÂÀÇ Å¸ÀÔ ÁöÁ¤ÀÔ´Ï´Ù. declare ¸í·É¾î´Â bash ¹öÀü 2 ÀÌÈĺÎÅÍ °¡´ÉÇÕ´Ï´Ù. typeset ¸í·É¾î´Â ksh ½ºÅ©¸³Æ®¿¡¼µµ °¡´ÉÇÕ´Ï´Ù.
declare -r var1 |
(declare -r var1 ´Â readonly var1 ¿Í ¶È°°ÀÌ µ¿ÀÛÇÕ´Ï´Ù)
C¿¡¼ const ÇüÇÑÁ¤¾î(qualifier)¿Í °ÅÀÇ ºñ½ÁÇϰí, ÀÌ·± º¯¼öÀÇ °ªÀ» ¹Ù²Ù·Á°í ÇÏ¸é ¿¡·¯ ¸Þ¼¼Áö°¡ ³³´Ï´Ù.
declare -i number # ÀÌ ½ºÅ©¸³Æ®´Â ÀÌÈÄ ³ª¿À´Â ¸ðµç "number"¸¦ Á¤¼ö·Î Ãë±ÞÇÒ °ÍÀÔ´Ï´Ù. number=3 echo "number = $number" # number = 3 number=three echo "number = $number" # number = 0 # "three"¸¦ Á¤¼ö·Î °è»êÇÏ·Á´Â ½Ãµµ. |
declare -a indices |
indices º¯¼ö´Â ¹è¿·Î Ãë±ÞµË´Ï´Ù.
declare -f |
½ºÅ©¸³Æ®¿¡¼ ÀÎÀÚ ¾øÀÌ declare -f °¡ ³ª¿À´Â ÁÙ¿¡¼´Â ½ºÅ©¸³Æ®¾È¿¡¼ Á¤ÀÇµÈ ¸ðµç ÇÔ¼öµéÀÇ ¸ñ·ÏÀ» º¸¿©ÁÝ´Ï´Ù.
declare -f function_name |
½ºÅ©¸³Æ® ¾È¿¡¼ declare -f function_name ¶ó°í ÇÏ¸é ±×³É ±× ÇÔ¼ö À̸§À» º¸¿©ÁÝ´Ï´Ù.
declare -x var3 |
ÀÌ ¼±¾ðÀº ½ºÅ©¸³Æ® ¿ÜºÎ ȯ°æ¿¡¼µµ ÀÌ º¯¼ö¸¦ ¾µ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù.
declare -x var3=373 |
declare ¸í·É¾î´Â ÇÑ ¹®Àå ¾È¿¡¼ ¼±¾ð°ú µ¿½Ã¿¡ ±× °ªÀ» ÇÒ´çÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù.
¿¹ 9-16. declare¸¦ ½á¼ º¯¼ö ŸÀÔ ÁöÁ¤Çϱâ
#!/bin/bash func1 () { echo ¿©±â´Â ÇÔ¼ö¿¡¿ä. } declare -f # À§ ÇÔ¼ö¸¦ ³ª¿. echo declare -i var1 # var1 Àº Á¤¼ö. var1=2367 echo "var1 Àº $var1 ·Î ¼±¾ðµÆ½À´Ï´Ù." var1=var1+1 # Á¤¼ö ¼±¾ðÀº 'let' ÀÌ ÇÊ¿ä¾ø½À´Ï´Ù. echo "1ÀÌ Áõ°¡µÈ var1 Àº $var1 ÀÔ´Ï´Ù." # Attempt to change variable declared as integer echo "var1À» ºÎµ¿Çü °ªÀÎ 2367.1 ·Î ¹Ù²Ù·Á´Â ½Ãµµ." var1=2367.1 # ¿¡·¯ ¸Þ¼¼Áö¸¦ ³»°í °ªÀº º¯ÇÏÁö ¾Ê½À´Ï´Ù. echo "var1 Àº ¿©ÀüÈ÷ $var1 ÀÔ´Ï´Ù." echo declare -r var2=13.36 # 'declare' ´Â º¯¼ö ŸÀÔÀ» ¼³Á¤ÇÏ°í µ¿½Ã¿¡ #+ ±× °ªÀ» ÇÒ´çÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. echo "var2 ´Â $var2 ·Î ¼±¾ðµÆ½À´Ï´Ù." # Àбâ Àü¿ë º¯¼ö °ªÀ» º¯°æÇÏ·Á´Â ½Ãµµ. var2=13.37 # ¿¡·¯ ¸Þ¼¼Áö¸¦ ³»°í ½ºÅ©¸³Æ® Á¾·á. echo "var2 ´Â ¿©ÀüÈ÷ $var2 ÀÔ´Ï´Ù." # ¿©±â´Â ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. exit 0 # ¿©±â¼ Á¾·áµÇÁö ¾Ê½À´Ï´Ù. |