¾ÆÀ̵ð ºñ¹Ð¹øÈ£ | ȸ¿ø°¡ÀÔ | ºñ¹Ð¹øÈ£ºÐ½Ç
   
¡¡»õ·Î¿î¼Ò½Ä
¡¡FAQ
¡¡À¥ÇÁ·Î±×·¥
¡¡À¥DB
¡¡À¥¼­¹ö
¡¡À¥ÇÁ·Î±×·¥¼öÁ¤
¡¡ÇØÇÇÄ®·³
¡¡°ñµåÆÁ
 
Á¦ÀÛÀÇ·Ú
À¥ÇÁ·Î±×·¥ ÆǸŸô
 
ÇöÀçÀ§Ä¡: ¸ÞÀÎ ÇØÇÇÆ÷·³ Ȳ±Ý : °Ô½Ã¹° ÆîÃÄÀбâ
Total related article : 1  
µî·ÏÀÏ:2002-06-03
½Ã°£:17:06:08
Á¶È¸¼ö:1642
from:61.104.186.190
´Ù¸¥ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ Ãâ·Â³»¿ë Àб⠱۾´ÀÌ : HappyCGI

´Ù¸¥ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°°í ±× Ãâ·Â ³»¿ëÀ» Àд ¹æ¹ýÀº ¿©·¯°¡Áö°¡ ÀÖ½À´Ï´Ù. ¸¹Àº ºÐµéÀÌ ¾Ë°í °è½ÃÁö¸¸, ¸î¸î ¸ð¸£½Ã´Â ºÐµéÀ» À§ÇØ ¿©±â ±× ¹æ¹ýµéÀ» ¼Ò°³ÇÕ´Ï´Ù. Backtick ¿ªµû¿ÈÇ¥(`...`)´Â ±× ¾È¿¡ µé¾îÀÖ´Â ³»¿ëÀ» shellÀ» ÅëÇØ ½ÇÇàÇÏ°í, Ç¥ÁØÃâ·Â(STDOUT)À¸·Î Ãâ·ÂµÇ´Â ³»¿ëÀ» ¹ÝȯÇÕ´Ï´Ù. µû¶ó¼­, $content = `cat /etc/passwd`; ´Â passwd ÆÄÀÏÀ» °£´ÜÈ÷ ÀоîµéÀÔ´Ï´Ù. ¹°·Ð, ´Ü¼øÇÑ ÆÄÀÏÀ» Àдµ¥´Â Á÷Á¢ openÀ» Çؼ­ ÀоîµéÀÌ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¿ªµû¿ÈÇ¥¸¦ »ç¿ëÇÏ°Ô µÇ¸é, ±× ³»ºÎÀÇ ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§Çؼ­ º°µµÀÇ ÇÁ·Î¼¼½º°¡ »ý¼ºµÇ¾î¾ß Çϱ⠶§¹®¿¡ ±×¸¸Å­ ½Ã½ºÅÛÀÇ ÀÚ¿øÀ» ¼Ò¸ðÇϰԵ˴ϴÙ. open ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý open ÇÔ¼ö¿¡¼­ ÆÄÀÏÀ̸§ºÐ¿¡ > ´ë½Å | (ÆÄÀÌÇÁ)±âÈ£¸¦ µÚ¿¡ ºÙÀ̸é ÇØ´ç ÆÄÀÏÀ̸§À» ½ÇÇà½ÃÅ°°í ±× Ãâ·Â³»¿ëÀ» ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù. [ÇÁ·Î±×·¥ÄÚµå]
#!/usr/bin/perl # prog.pl print "$$\n"; warn "Exiting\n"; #!/usr/bin/perl # opener.pl $p = open(RUN, "./prog.pl |") || die $!; # ./prog.pl µÚ¿¡ | Ç¥½Ã. @out = <RUN>; close RUN; # ¹Ýµå½Ã ÇϽʽÿÀ. print "opener: $p\n"; print map { "opener: $_" } @out;
opener.pl¿¡¼­ prog.plÀ» "./prog.pl |"¿Í °°ÀÌ ÇÏ¿© ¿­¾ú½À´Ï´Ù.(open) ±× ÈÄ ÀÏ¹Ý ÆÄÀÏ Àб⿡¼­ ÇÏ´Â °Íó·³ <RUN>¸¦ ÀÌ¿ëÇÏ¿© Ãâ·Â³»¿ëÀ» ÀнÀ´Ï´Ù. Âü°í·Î, open ÇÔ¼ö°¡ ¹ÝȯÇÏ´Â °ÍÀº, ÇÁ·Î±×·¥ÀÌ Á¦´ë·Î ½ÇÇàµÇ¾úÀ» ¶§, »õ·Î¿î ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º ¾ÆÀ̵ðÀÔ´Ï´Ù. ¸¸ÀÏ ÀÌ ÇÁ·Î±×·¥ÀÌ ¿À·£½Ã°£µ¿¾È »ì¾Æ ÀÖ´Â °Í(À¥¼­¹öó·³)À̶ó¸é close¸¦ ÇÏÁö ¾ÊÀ» °æ¿ì ¹®Á¦°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, openÀº °è¼ÓÇØ¾ß Çϴµ¥, close¸¦ ÇØ ÁÖÁö ¾Ê´Â´Ù¸é, ÇØ´ç ÇÁ·Î¼¼½º°¡ Á×Áö¾Ê°í °è¼Ó ³²¾Æ¼­ ½Ã½ºÅÛÀÚ¿øÀ» Â÷ÁöÇÏ°í À־ °á±¹ ½Ã½ºÅÛÀÌ ¸ØÃß´Â »óȲÀÌ ¹ß»ýÇÒ ¼öµµ ÀְԵ˴ϴÙ. µû¶ó¼­ ¹Ýµå½Ã close¸¦ ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ Ç¥ÁØ¿¡·¯(STDERR)±îÁö °°ÀÌ Àоî¾ß ÇÑ´Ù¸é [ÇÁ·Î±×·¥ÄÚµå]
#!/usr/bin/perl # prog.pl print "$$\n"; warn "Exiting\n"; #!/usr/bin/perl # opener.pl $p = open(RUN, "./prog.pl 2>&1 |") || die $!; # ./prog.pl µÚ¿¡ | Ç¥½Ã. @out = <RUN>; close RUN; # ¹Ýµå½Ã ÇϽʽÿÀ. print "opener: $p\n"; print map { "opener: $_" } @out;
¿Í °°ÀÌ 2>&1¸¦ Ãß°¡ÇÕ´Ï´Ù. ÀÌ ±ÛÀº http://www.perl.or.kr/tips/readoutput.html ¿¡¼­ ¹ßÃéµÈ ±ÛÀÔ´Ï´Ù.

  

 
¨Ô
Á¦¸ñ
ÀÛ¼ºÀÎ
Á¶È¸
µî·ÏÀÏ
´Ù¸¥ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ Ãâ·Â³»¿ë Àбâ
HappyCGI
1642
2002-06-03 17:06:08
 

  HOME | ȸ»ç¼Ò°³ | Á¦ÀÛÀÇ·Ú | °³ÀÎÁ¤º¸Ãë±Þ¹æħ | CGIMALL | ÀÚ·á½Ç | »çÀÌÆ®µî·Ï | ·©Å·100 | Æ÷·³ | Ãʺ¸°¡À̵å | Áú¹®°ú´äº¯ | ¹è³Ê±¤°í
Copyright¨Ï1997~2008 HappyCGI All rights reserved
Powered By HappyCGI