bashÀÇ º°Äª(alias)Àº º»·¡, ±ä ¸í·É¾îµéÀ» Ä¡Áö ¾Ê±â À§ÇÑ Å°º¸µå ´ÜÃàŰ³ª ¾à¾îÀÏ »ÓÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ~/.bashrc ÆÄÀÏ¿¡ alias lm="ls -l | more"¶ó°í Àû¾îÁÖ¸é ¸í·É¾îÁÙ¿¡¼ lmÀ̶ó°í Ä¥ ¶§¸¶´Ù ÀÚµ¿À¸·Î ls -l | more·Î ¹Ù²ò´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ¸í·É¾î Çà¿¡¼ ¾öû³ ŸÀÌÇÎÀ» ÁÙÀÏ ¼ö ÀÖ°í ¾ÆÁÖ º¹ÀâÇÑ ¸í·É¾î³ª ¿É¼ÇÀÇ Á¶ÇÕµéÀ» ÀÏÀÏÀÌ ´Ù ±â¾ïÇϰí ÀÖÁö ¾Ê¾Æµµ µË´Ï´Ù. alias rm="rm -i"(Áö¿ï ¶§ ¹°¾îº¸±â ¸ðµå)¶ó°í ¼¼ÆÃÇØ ³õÀ¸¸é Áß¿äÇÑ ÆÄÀÏÀ» ½Ç¼ö·Î Áö¿ö¹ö¸®Áö ¾Ê°Ô Çϱ⠶§¹®¿¡ Å« »ç°í¸¦ ¸·¾Æ ÁÝ´Ï´Ù.
½ºÅ©¸³Æ®¿¡¼´Â º°Äª(alias)ÀÌ Á¦ÇÑµÈ ¾²ÀÓ»õ¸¦ °®½À´Ï´Ù. º°Äª¿¡ ¸ÅÅ©·Î È®Àå°°Àº C Àü󸮱â(preprocessor)±â °°Àº ±â´ÉÀÌ ÀÖ¾ú´Ù¸é ¾ÆÁÖ ÁÁ¾ÒÀ»ÅÙµ¥, ºÒÇàÇϰԵµ Bash´Â º°Äª¿¡ ¼ÓÇÑ ÀÎÀÚµéÀ» È®ÀåÇÏÁö ¾Ê½À´Ï´Ù. [1] °Ô´Ù°¡, if/then¹®, ·çÇÁ, ÇÔ¼ö°°Àº "º¹ÇÕ¹®"(compound construct)¾È¿¡¼´Â º°Äª ÀÚüÀÇ È®ÀåÀÌ µÇÁú ¾Ê½À´Ï´Ù. ¾Æ¸¶ °ÅÀÇ Ç×»ó ±×·²Å×Áö¸¸, º°ÄªÀ¸·Î ¹«¾ùÀ» ÇÏ·Á´ø °£¿¡ ÇÔ¼ö¿¡¼ ±¸ÇöÇÏ´Â °ÍÀÌ ´õ È¿°úÀûÀÏ °ÍÀÔ´Ï´Ù.
¿¹ 24-1. ½ºÅ©¸³Æ®¿¡¼ ¾²ÀÌ´Â º°Äª(alias)
#!/bin/bash # ¿À·¡µÈ ½Ã½ºÅÛ¿¡¼´Â #!/bin/bash2 ¶ó°í ÇØ¾ß µË´Ï´Ù. shopt -s expand_aliases # ÀÌ ¿É¼ÇÀ» ²À ½á¾ß º°ÄªÀ» È®Àå½Ãų ¼ö ÀÖ½À´Ï´Ù. # ¸ÕÀú Àç¹Ì·Î Çϳª ÇØº¸ÁÒ. alias Jesse_James='echo "\"Alias Jesse James\" was a 1959 comedy starring Bob Hope."' Jesse_James echo; echo; echo; alias ll="ls -l" # º°ÄªÀ» Á¤ÀÇÇÏ·Á¸é ÀÛÀºµû¿ÈÇ¥(')³ª Å«µû¿ÈÇ¥(") Áß Çϳª¸¦ ½á¾ß µË´Ï´Ù. echo "º°ÄªÀÎ \"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 "º°ÄªÀÎ \"lll\" ÇØº¸±â:" lll # /usr/X11R6/bin ¿¡¼ mk ·Î ½ÃÀÛÇÏ´Â ¸ðµç ÆÄÀϵéÀÇ ¸ðµç(long) Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù. # º°ÄªÀº ¿ÍÀϵå Ä«µå¸¦ Æ÷ÇÔÇÑ º¯¼öÀÇ ¿¬°áÀ» Àß Ã³¸®ÇÕ´Ï´Ù. TRUE=1 echo if [ TRUE ] then alias rr="ls -l" echo "º°Äª \"rr\" À» if/then ¹® ¾È¿¡¼ ÇØº¸±â:" rr /usr/X11R6/bin/mk* #* ¿¡·¯ ¸Þ¼¼Áö°¡ ³ª¿É´Ï´Ù! # º°ÄªÀº º¹ÇÕ¹® ¾È¿¡¼ È®ÀåµÇÁö ¾Ê½À´Ï´Ù. echo "ÇÏÁö¸¸, ÀÌ¹Ì È®ÀåµÈ º°ÄªÀº ÀνÄÇÕ´Ï´Ù:" ll /usr/X11R6/bin/mk* fi echo count=0 while [ $count -lt 3 ] do alias rrr="ls -l" echo "º°Äª \"rrr\" À» \"while\" ·çÇÁ¾È¿¡¼ ÇØº¸±â:" rrr /usr/X11R6/bin/mk* #* ¿ª½Ã È®ÀåµÇÁö ¾Ê½À´Ï´Ù. let count+=1 done echo; echo alias xyz="cat $1" # º°Äª¿¡¼ À§Ä¡ ¸Å°³º¯¼ö ½Ãµµ. xyz # Bash ¹®¼´Â ÀÌ·± ½Ãµµ¸¦ ÇÏÁö ¸»¶ó°í Á¦¾ÈÇϰí ÀÖ½À´Ï´Ù¸¸, # ÀÌ ½ºÅ©¸³Æ®¿¡ ÆÄÀϸíÀ» Á༠µ¹¸®¸é Á¦´ë·Î µÇ´Â°Íó·³ º¸ÀÔ´Ï´Ù. exit 0 |
Âü°í: unalias ¸í·É¾î´Â ÀÌÀü¿¡ ¼¼ÆÃµÇ¾î ÀÖ´ø º°ÄªÀ» Áö¿öÁÝ´Ï´Ù.
¿¹ 24-2. unalias: º°ÄªÀ» ¼³Á¤, ÇØÁ¦Çϱâ
#!/bin/bash shopt -s expand_aliases # º°Äª È®ÀåÀ» Å´. alias llm='ls -al | more' llm echo unalias llm # º°ÄªÀ» ÇØÁ¦. llm # 'llm'ÀÌ ´õ ÀÌ»ó ÀνĵÇÁö ¾Ê±â ¶§¹®¿¡ ¿¡·¯ ¸Þ¼¼Áö°¡ ³ª¿É´Ï´Ù. exit 0 |
bash$ ./unalias.sh total 6 drwxrwxr-x 2 bozo bozo 3072 Feb 6 14:04 . drwxr-xr-x 40 bozo bozo 2048 Feb 6 14:04 .. -rwxr-xr-x 1 bozo bozo 199 Feb 6 14:04 unalias.sh ./unalias.sh: llm: command not found |
[1] | ÇÏÁö¸¸ À§Ä¡ ¸Å°³º¯¼ö´Â È®ÀåÇÏ´Â °Íó·³ º¸ÀÔ´Ï´Ù. |