±ä ¸í·É¾î¿¡ ´ëÇÑ ´ÜÃà ¸í·ÉÀ¸·Î¼ .BAT ÈÀÏÀ» »ç¿ëÇÑ ÀûÀÌ ÀÖ´Ù¸é( º»ÀÎÀº ¸¹ÀÌ ±×·¯Çß´Ù ) profile À̳ª .profile ¾È¿¡´Ù( À§ÀÇ ¿¹ Âü°í ) ÀûÀýÇÑ alias ÇàÀ» ³Ö ¾îÁֱ⸸ ÇÏ¸é µÈ´Ù. ÇÏÁö¸¸ .BAT ÀÌ Á» ´õ º¹ÀâÇØÁø´Ù¸é ¼ÐÀ» ÅëÇØ »ç¿ëÇÒ ¼ö ÀÖ ´Â ½ºÅ©¸³Æ® ¾ð¾î¸¦ ¾ÖÈ£ÇÏ°Ô µÉ °ÍÀÌ´Ù. ´õ ³ªÀº °ÍÀº ¾Æ´Ï´õ¶óµµ QBASIC ¸¸ÅÀÌ ³ª ¼ÐÀº °·ÂÇÏ´Ù. º¯¼ö´Â ¹°·Ð while, for, case, if ... then ... else µîÀÇ Á¦¾î¹®ÀÌ ÀÖ°í ¶Ç ´Ù¸¥ ¸¹Àº ±â´ÉµéÀÌ µé¾îÀÖ´Ù.
´Ù¸¥ ½ÇÁ¦ÀûÀÎ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ÁÁÀº ´ë¾ÈÀ̶ó°íµµ ÇÒ ¼ö ÀÖ´Ù. µµ½º¿¡¼´Â .BAT ¿¡ ÇØ´çÇÏ´Â ½ºÅ©¸³Æ®¸¦ Â¥±â À§Çؼ± ¸í·É Áö½Ã¹®À» Æ÷ÇÔÇϴ ǥÁØ ¾Æ½ºÅ° ÈÀÏÀ» ¾²°í ÀúÀåÇÑ ´ÙÀ½, ¼öÇà°¡´ÉÇÏ°Ô ¸¸µé¾îÁÖ¸é µÈ´Ù.
$ chgmod u+x <scriptfile>
½ÇÇàÇϱâ À§Çؼ´Â ±×³É À̸§À» ŸÀÌÇÎÇÑ´Ù. ÇÑ ¸¶µð °æ°í. ½Ã½ºÅÛ ÆíÁý±â´Â vi °¡ Àִµ¥ ¾à°£ ¹è¿ì±â ¾î·Á¿ï °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ¾î·Æ´Ù°í Åõ´ú´î °ÍÀ̶ó°í È®½ÅÇÏ¸ç º»ÀÎ ¶ÇÇÑ Á¦´ë·Î ¾ËÁö ¸øÇϹǷΠ¿©±â¼ ¼³¸íÇÏÁö´Â ¾Ê°Ú´Ù. Matt Welsh¾¾ÀÇ "Linux installation..." ÆäÀÌÁö 109ÂÊ À» º¸¶ó. joe ³ª X ¿ë À̸ƽº µîÀ» ¼±ÅÃÇÏ´Â °Íµµ ÁÁ´Ù. ´ÙÀ½°ú °°À̸¸ ¸»ÇØµÎ¸é µÉ °Í °°´Ù.
- ÅؽºÆ®¸¦ ÀÔ·ÂÇϱâ À§ÇÏ¿© i ¸¦ ŸÀÌÇÎÇÑ ÈÄ ÅؽºÆ®¸¦ ÀÔ·ÂÇÑ´Ù. - ÀúÀåÇÏÁö ¾Ê°í ³¡³»±â À§Çؼ´Â ESC Å°¸¦ ÇÑ ¹ø ´©¸£°í :q! ÇÏ¸é µÈ´Ù. - ÀúÀåÇÏ°í ³¡³»±â À§Çؼ´Â ESC Å°¸¦ ÇÑ ¹ø ´©¸£°í :wq ÇÏ¸é µÈ´Ù.
Writing scripts under Linux is such a vast subject it would require a book ¸®´ª½º¿¡¼ ½ºÅ©¸³Æ® Â¥´Â ÀÏÀº ±×°Í¸¸À¸·Îµµ ÇÑ ±ÇÀÌ Ã¥ÀÌ µÉ ¸¸Å ¹æ´ëÇÑ ºÐ·®ÀÇ ÁÖÁ¦ÀÌ´Ù. ±×¸®°í ´õ ±íÀÌ µé¾î°¡Áö´Â ¾ÊÀ» °ÍÀÌ´Ù. ´ÜÁö ¿©·¯ºÐ¿¡°Ô À¯¿ëÇÑ ¸î °¡ Áö ¿¹µé¿¡¼ ¿©·¯ºÐÀÌ ±âº»ÀûÀÎ ±ÔÄ¢À» ¹ß°ßÇÒ ¼ö ÀÖµµ·Ï Á¦½ÃÇÏ°íÀÚ ÇÑ´Ù.
¿¹ 1 : first_script #!/bin/sh # ³ª´Â ÁÖ¼®¹®ÀÌ´Ù. # sh°¡ °Å±â ÀÖ¾î¾ß ÇϹǷΠù¹ø° ÁÙÀ» °íÄ¡Áö´Â ¸»¶ó. echo "¿À´ÃÀº `date`" echo "Á¦ À̸§Àº "$0 echo "´ç½ÅÀº Àú¿¡°Ô ´ÙÀ½°ú °°Àº "$#" Àμö¸¦ Àü´ÞÇϼ̽À´Ï´Ù: "$* echo "ù¹ø° Àü´ÞÀμö´Â "$1 echo "¹º°¡ °¨À» ÀâÀ¸¼Ì½À´Ï±î?" ¿¹ 2: 2exe #!/bin/sh echo "$1" À» ½ÇÇà°¡´ÉÄÉ ¸¸µé°í ÀÖ½À´Ï´Ù... " chmod u+x $1 ¿¹ 3: backup #!/bin/sh echo "~/bak·Î ÈÀÏÀ» Ä«ÇÇ ÁßÀÔ´Ï´Ù" for name in $* do cp ${name} ~/bak done ¿¹ 4: fmta #!/bin/sh echo "¿À·ÎÁö ·çÆ®¸¸ÀÌ Æ÷¸ËÇÒ ¼ö ÀÖ½À´Ï´Ù" fdformat /dev/fd0H1440 mkfs -t ext2 -c /dev/fd0H1440 echo "µð½ºÅ©°¡ Æ÷¸ËµÇ¾ú½À´Ï´Ù." ¿¹ 5: mnta #!/bin/sh echo "¿À·ÎÁö ·çÆ®¸¸ÀÌ ¸¶¿îÆ®ÇÒ ¼ö ÀÖ½À´Ï´Ù" mount -t msdos /dev/fd0 /mnt echo "ÀÛ¾÷À» ¸¶Ä¡°í ³ª¼ ²À umount ÇϽʽÿä."
¸®´ª½º¿¡¼ GW/BASIC °°Àº °ÍÀ» ±â´ëÇÏÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ±×·¸Áö ¾ÊÀº°¡? À¯´Ð½º °è¿¿¡¼ ½Ã½ºÅÛ ¾ð¾î´Â C À̸ç C ¸¦ »ç¶ûÇϱ⵵ ÇÏ°í C ¸¦ ¹Ì¿öÇϱ⵵ ÇÑ´Ù. ´Ù¸¥ ¸¹Àº ¾ð¾îµé(Æ÷Æ®¶õ, ÆĽºÄ®, LISP, º£À̽Ä... ÇÏÁö¸¸ Åͺ¸ ÆĽºÄ® °°Àº °ÍÀº ¾ø´Ù )ÀÌ ¶ÇÇÑ »ç¿ë°¡´ÉÇÏ´Ù.
¿©·¯ºÐÀÌ C ¸¦ ¾È´Ù°í °¡Á¤ÇÏ°í ¿©±â Åͺ¸ C++ À̳ª ´Ù¸¥ µµ½º¿ë C ¿¡ ±æµé¿©Á® ÀÖ À» ¿©·¯ºÐ¿¡°Ô ¸î °¡Áö »çÇ׿¡ ´ëÇØ ¾È³»¸¦ ÇÏ°íÀÚ ÇÑ´Ù. ¸®´ª½º¿¡¼ÀÇ C ÄÄÆÄÀÏ·¯´Â gcc ÀÌ¸ç º¸Åë µµ½º¿ë¿¡¼ º¼ ¼ö ÀÖ´Â ±×·¯ÇÑ È·ÁÇÑ ¸éµéÀº ¾ø´Ù. ÅëÇÕȯ°æ(IDE), ¿Â¶óÀÎ µµ¿ò¸», ÅëÇÕ µð¹ö°Å µîÀº ã¾Æº¼ ¼ö ¾ø´Ù. ´ÜÁö Åõ¹ÚÇÑ ¸í·ÉÇà ¹æ½ÄÀÇ ÄÄÆÄÀÏ·¯ÀÌÁö¸¸ ¸Å¿ì °·ÂÇÏ°í È¿À²ÀûÀÌ´Ù. ¿©·¯ºÐÀÇ ÀϹÝÀûÀÎ hello.c ¸¦ ÄÄÆÄÀÏÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
$ gcc hello.c°á°ú´Â a.out À̶ó´Â ½ÇÇàÈÀÏÀÌ´Ù. ½ÇÇàÈÀÏÀÇ À̸§À» ´Ù¸£°Ô ÁÖ±â À§Çؼ´Â
$ gcc -o hola hello.c¶óÀ̺귯¸®¿Í ÇÔ²² ÇÁ·Î±×·¥À» ¸µÅ©ÇÏ·Á¸é -l<arg> ½ºÀ§Ä¡¸¦ ºÙÀδÙ. ¿¹¸¦ µé¾î ¼öÇÐ ¶óÀ̺귯¸®¸¦ ¸µÅ©ÇÏ´Â °æ¿ì¿¡´Â
$ gcc -o mathprog mathprog.c -lm(The -l<arg> switch forces gcc to link the library /usr/lib/lib<arg>.a; so ( -l<arg> ½ºÀ§Ä¡´Â gcc ·Î ÇÏ¿©±Ý /usr/lib/lib<arg>.a ¸¦ ¸µÅ©Çϵµ·Ï ¸íÇÑ´Ù. µû¶ó¼ -lm Àº /usr/lib/libm.a ¸¦ ¸µÅ©ÇÏ°Ô µÈ´Ù )
Àڱ׸¶ÇÑ ÇÁ·Î±×·¥¿¡´Â ±¦Âú´Ù. ÇÏÁö¸¸ ¿©·¯ °³ÀÇ ¼Ò½º·Î ±¸¼ºµÈ ÇÁ·Î±×·¥À» ¸¸µé ¶§´Â make À¯Æ¿¸®Æ¼¸¦ ½á¾ß ÇÒ °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ¼öÇÐ½Ä Æļ(parser)¸¦ ¸¸µé¾ú´Ù °í Ä¡ÀÚ. ¼Ò½º ÈÀÏÀÇ À̸§Àº parser.c ¶ó°í ÇÏ°í parse.h¿Í xy.h 2 °³ÀÇ Çì´õ ÈÀÏ À» Æ÷ÇÔÇÑ´Ù°í Ä¡ÀÚ. ¿©·¯ºÐÀÌ calc.c ¶ó´Â ÇÁ·Î±×·¥¿¡¼ parser.h ¸¦ ´Ù½Ã Æ÷ÇÔÇÏ °í parser.c ÀÇ ·çÆÃÀ» ÀÌ¿ëÇÏ·Á°í ÇÒ °ÍÀÌ´Ù. Á» º¹ÀâÇϱä ÇÏ´Ù. calc.c ¸¦ ÄÄÆÄ ÀÏÇÏ·Á¸é ¾î¶² ÀÏÀ» ÇØ¾ß Çϴ°¡?
¿©·¯ºÐÀº makefile À̶ó´Â °ÍÀ» ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ±× makefile Àº ¼Ò½º¿Í ¿ÀºêÁ§Æ® ÈÀÏ°úÀÇ ¿¬°ü¼ºÀ» ¸»ÇØÁØ´Ù. ¿¹Á¦¸¦ º¸¸é,
# ÀÌ°ÍÀº calc.c ¸¦ ÄÄÆÄÀÏÇϱâ À§ÇÑ makefile ÀÌ´Ù. # ÀûÀýÇÑ °÷¿¡¼ <ÅÇ>Å°¸¦ ´©¸£±â ¹Ù¶õ´Ù. calc: calc.o parser.o <ÅÇ>gcc -o calc calc.o parser.o -lm # calc ´Â calc.o, parser.so ÀÌ 2 °³ÀÇ ¿ÀºêÁ§Æ® ÈÀÏ¿¡ ÀÇÁ¸ÇÑ´Ù. calc.o: calc.c parser.h <ÅÇ>gcc -c calc.c # calc.o Àº 2 °³ÀÇ ÈÀÏ¿¡ ÀÇÁ¸ÇÑ´Ù. parser.o: parser.c parser.h xy.h <ÅÇ>gcc -c parser.c # parser.o ´Â 3 °³ÀÇ ÈÀÏ¿¡ ÀÇÁ¸ÇÑ´Ù. # makefile ÀÇ ³¡ makefile ·Î ÀúÀåÇÏ°í ÄÄÆÄÀÏÇϱâ À§ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù. $ make ¶Ç´Â calc.mak ¶ó°í ÀúÀåÇÑ ´ÙÀ½, ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. $ make -f calc.mak ¹°·Ð °ü·ÃµÈ ¹®¼¸¦ ²À Àо±â ¹Ù¶õ´Ù. (RMP) ÀÌ°Í ¸»°íµµ ¿©·¯ºÐÀº C ÇÔ¼ö¿¡ ´ëÇÑ µµ¿òÀ» ±× Áï½Ã ¾òÀ» ¼ö Àִµ¥ ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù. ¿¹¸¦ µé¾î, $ man printf