Next: , Previous: Subprocess Creation, Up: Processes   [Contents][Index]


36.2 ¥·¥§¥ë°ú¿ô

Lisp¥×¥í¥°¥é¥à¤«¤é¡¢ ¥æ¡¼¥¶¡¼¤¬»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë̾¤ò´Þ¤ó¤À¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤Æ ¥·¥§¥ë¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤È¤­¤É¤­¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ç¤°Õ¤ÎÀµ¤·¤¤¥Õ¥¡¥¤¥ë̾¤ò°·¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢¥·¥§¥ë¤Ï¡¢ÆÃÄê¤Îʸ»ú¤¬¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ¸½¤ì¤ë¤ÈÆÃÊ̤˰·¤¦¤Î¤Ç¡¢ ¤½¤Î¤è¤¦¤Êʸ»ú¤¬¥·¥§¥ë¤Ëº®Íð¤ò¤â¤¿¤é¤·¤Þ¤¹¡£ ¤½¤Î¤è¤¦¤Êʸ»ú¤ò°·¤¦¤Ë¤Ï¡¢´Ø¿ôshell-quote-argument¤ò»È¤¤¤Þ¤¹¡£

Function: shell-quote-argument argument

¤³¤Î´Ø¿ô¤Ï¡¢argument¤ò¼ÂºÝ¤ÎÆâÍÆ¤È¤¹¤ë ¥·¥§¥ë¹½Ê¸¤Çɽ¤·¤¿°ú¿ô¤òʸ»úÎó¤ÇÊÖ¤¹¡£ ¤³¤ÎÌá¤êÃͤò¥·¥§¥ë¥³¥Þ¥ó¥É¤ËÏ¢·ë¤·¡¢ ¼Â¹Ô¤Î¤¿¤á¤Ë¥·¥§¥ë¤ËÅϤ·¤Æ¤âÌäÂê¤òÀ¸¤¸¤Ê¤¤¤Ï¤º¤Ç¤¢¤ë¡£

¤³¤Î´Ø¿ô¤¬¹Ô¤¦¤³¤È¤Î¾ÜºÙ¤ÏÆÉ¼Ô¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë°Í¸¤¹¤ë¡£ ¤³¤Î´Ø¿ô¤ÏÄ̾ï¤Î¥·¥§¥ë¹½Ê¸¤Ë¹ç¤¦¤è¤¦¤ËÀ߷פ·¤Æ¤¢¤ë¡£ Èóɸ½à¤Î¥·¥§¥ë¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢¤³¤Î´Ø¿ô¤òºÆÄêµÁ¤¹¤ëɬÍפ¬¤¢¤í¤¦¡£ MS-DOS¤Ç¤Ï¡¢¤³¤Î´Ø¿ô¤Ïargument¤ò̵Êѹ¹¤ÇÊÖ¤¹¡£ MS-DOS¤Î¥·¥§¥ë¤Ë¤Ï¥¯¥©¡¼¥È¤Îµ¡Ç½¤¬¤Ê¤¤¤¿¤á¡¢ ¤³¤ì¤ÏËÜÅö¤ÏÀµ¤·¤¤¤³¤È¤Ç¤Ï¤Ê¤¤¤¬ºÇÎɤΤ³¤È¤Ç¤¢¤ë¡£

;; ¤Ä¤®¤ÎÎã¤ÏGNU¤ÈUNIX¥·¥¹¥Æ¥à¤Î¤Õ¤ë¤Þ¤¤¤Ç¤¢¤ë
(shell-quote-argument "foo > bar")
     ⇒ "foo\\ \\>\\ bar"

¥·¥§¥ë¥³¥Þ¥ó¥É¤òºî¤ëshell-quote-argument¤Î»ÈÍÑÎã¤ò¤Ä¤®¤Ë¼¨¤¹¡£

(concat "diff -c "
        (shell-quote-argument oldfile)
        " "
        (shell-quote-argument newfile))