bashÀÇ º°Äª(alias)Àº º»·¡ Űº¸µå ´ÜÃàŰ³ª »ý·«ÀÌ»óÀÇ Àǹ̵µ °®Áö ¾Ê½À´Ï´Ù. Áï, ±ä ¸í·É¾îµéÀÇ Á¶ÇÕÀ» ª°Ô ¸¸µé¾î ÁÖ´Â ¿ªÇÒ»ÓÀ̶õ ¸»ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î¼ ~/.bashrc(3.23절 Âü°í) ÆÄÀÏ¿¡ alias lm="ls -l | more"¶ó°í Àû¾îÁÖ¸é ¸í·É¾îÇà¿¡¼ lmÀ̶ó°í Ä¥ ¶§¸¶´Ù ÀÚµ¿À¸·Î ls -l | more¶ó°í ¹Ù²ò´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ¸í·É¾îÇà»ó¿¡¼ ŸÀÌÇÎÀ» ¾öû³ª°Ô ÁÙÀÏ ¼ö°¡ ÀÖ°Å´Ï¿Í ¾ÆÁÖ º¹ÀâÇÑ ¸í·É¾î³ª ¿É¼ÇÀÇ Á¶ÇÕµéÀ» ÀÏÀÏÀÌ ´Ù ±â¾ïÇϰí ÀÖÁö ¾Ê¾Æµµ µË´Ï´Ù.
½ºÅ©¸³Æ®¿¡¼´Â ÀÌ º°Äª(alias)ÀÌ ¾ÆÁÖ Á¦ÇÑµÇ¾î ¾²ÀÔ´Ï´Ù. ¸¸¾à¿¡ º°Äª¿¡ ¸ÅÅ©·Î È®Àå°°Àº C Àü󸮱â(preprocessor) ±â´ÉÀÌ ÀÖ¾ú´Ù¸é ¾ÆÁÖ ÁÁ¾ÒÀ» ÅÙµ¥, ¾Æ½±°Ôµµ º°Äª¿¡ ¼ÓÇÑ ÀÎÀÚµéÀº È®ÀåµÇÁö ¾Ê½À´Ï´Ù. °Ô´Ù°¡, if/then¹®, ·çÇÁ, ÇÔ¼ö °°Àº "º¹ÇÕ¹®" ¾È¿¡¼´Â º°Äª ÀÚüÀÇ È®ÀåÀÌ µÇÁú ¾Ê½À´Ï´Ù. ¾Æ¸¶ °ÅÀÇ Ç×»ó ±×·²Å×Áö¸¸, º°ÄªÀ¸·Î ¹«¾ùÀ» ÇÏ·Á°í ÇϵçÁö°£¿¡ ÇÔ¼ö¿¡¼ ±¸ÇöÇÏ´Â °ÍÀÌ ´õ È¿°úÀûÀÏ °ÍÀÔ´Ï´Ù.
예 3-85. ½ºÅ©¸³Æ®¿¡¼ ¾²ÀÌ´Â º°Äª(alias)
#!/bin/bash2 shopt -s expand_aliases # ÀÌ ¿É¼ÇÀ» ²À ½á¾ß º°Äª(alias)À» È®Àå½Ãų ¼ö ÀÖ½À´Ï´Ù. # ¸ÕÀú Àç¹Ì·Î Çϳª ÇØº¸ÁÒ. alias Jesse_James='echo "\"Alias Jesse James\" was a 1959 comedy starring Bob Hope."' Jesse_James echo; echo; echo; alias ll="ls -l" # º°ÄªÀ» Á¤ÀÇÇÏ·Á¸é ÀÛÀº µû¿ÈÇ¥(')³ª Å« µû¿ÈÇ¥(")Áß Çϳª¸¦ ½á¾ß ÇÕ´Ï´Ù. echo "Trying aliased \"ll\":" ll /usr/X11R6/bin/mk* # Àß µË´Ï´Ù. echo directory=/usr/X11R6/bin/ prefix=mk* # ¿ÍÀϵå Ä«µå°¡ ¹®Á¦¸¦ ÀÏÀ¸Å°´ÂÁö ÇÑ ¹ø º¾½Ã´Ù. echo "Variables \"directory\" + \"prefix\" = $directory$prefix" echo alias lll="ls -l $directory$prefix" echo "Trying aliased \"lll\":" lll # /usr/X11R6/bin¿¡¼ mk·Î ½ÃÀÛÇÏ´Â ¸ðµç ÆÄÀϵéÀÇ ¸ðµç(long) Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù. # º°ÄªÀº ¿ÍÀϵå Ä«µå¸¦ Æ÷ÇÔÇÑ º¯¼öÀÇ ¿¬°áÀ» Àß Ã³¸®ÇÕ´Ï´Ù. TRUE=1 echo if [ TRUE ] then alias rr="ls -l" echo "Trying aliased \"rr\" within if/then statement:" rr /usr/X11R6/bin/mk* # ¿¡·¯ ¸Þ¼¼Áö°¡ ³ª¿ÀÁÒ! # º¹ÇÕ¹® ¾È¿¡¼´Â È®ÀåµÇÁö ¾Ê½À´Ï´Ù. echo "However, previously expanded alias still recognized:" ll /usr/X11R6/bin/mk* fi echo count=0 while [ $count -lt 3 ] do alias rrr="ls -l" echo "Trying aliased \"rrr\" within \"while\" loop:" rrr /usr/X11R6/bin/mk* # ¿ª½Ã È®ÀåµÇÁö ¾Ê½À´Ï´Ù. let count+=1 done exit 0 |