Next: File Descriptors, Previous: Shellology, Up: Portable Shell [Contents][Index]
‘\’¤Ï¡¤¼¡¤Î¥·¥ó¥Ü¥ë¤È°ì½ï¤Ë¤Ê¤Ã¤ÆÆÃÊ̤ΰÕÌ£¤ò»ý¤¿¤Ê¤¤¤Î¤Ç¡¤°Ý»ý¤µ¤ì
¤ë‘\’¤Ë°Í¸¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡¥OpenBSD 2.7¤Î¥Í¥¤¥Æ¥£¥Ö¤Ê
/bin/sh
¤Ç¤Ï¡¤‘\"’¤Ï‘"’¤ËŸ³«¤µ¤ì¡¤¥Ò¥¢¥É¥¥å¥á¥ó¥È¤Ç
¤Ï°úÍÑÉä¤Ç°Ï¤Þ¤ì¤Æ¤¤¤Ê¤¤Ê¬Î¥»Ò¤È¤·¤ÆÍѤ¤¤é¤ì¤Þ¤¹¡¥°ìÈÌŪ¤Êµ¬Â§¤È¤·¤Æ¡¤
‘\\’¤¬‘\’¤ËŸ³«¤µ¤ì¤ë¾ì¹ç¡¤‘\’¤òÆÀ¤ë¤¿¤á¤Ë‘\\’ ¤ò»È
ÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥
OpenBSD 2.7¤Î/bin/sh
¤Ç¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
$ cat <<EOF > \" \\ > EOF " \
¤½¤·¤Æ¡¤Bash¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
bash-2.04$ cat <<EOF > \" \\ > EOF \" \
¿¤¯¤Î¸Å¤¤(Bourne¥·¥§¥ë¤ò´Þ¤à)¥·¥§¥ë¤Ç¤Ï¡¤¥Ò¥¢¥É¥¥å¥á¥ó¥È¤ÏÈó¸úΨ¤Ë¼ÂÁõ
¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥Â礤ʥҥ¢¥É¥¥å¥á¥ó¥È¤ò´Ö°ã¤Ã¤Æ°·¤¦¥·¥§¥ë¤â¤¢¤ê¤Þ¤¹¡¥Î㤨
¤Ð¡¤Solaris 8 dtksh
¤Ïksh
M-12/28/93d¤ÇÄ󶡤µ¤ì¤Æ¤¤¤Æ¡¤
¥Ò¥¢¥É¥¥å¥á¥ó¥È¤ò1024¥Ð¥¤¥È¤Î¥Ð¥Ã¥Õ¥¡¤Î¶³¦¤Ç´Ö°ã¤Ã¤¿ÊÑ¿ô¤ÎŸ³«¤òÀ¸¤¸¤Þ
¤¹¡¥¥æ¡¼¥¶¤Ï°ìÈÌŪ¤Ë¡¤¤è¤ê®¤¯¤è¤ê¿®ÍêÀ¤Î¹â¤¤¥·¥§¥ë¤ò»ÈÍѤ·¤Æ¡¤¤³¤ì¤é¤Î
ÌäÂê¤ò½¤Àµ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¡¤Î㤨¤Ð¡¤¤½¤Î¤Þ¤Þ‘./configure’¤¹¤ë¤Î¤Ç¤Ï
¤Ê¤¯¡¤¥³¥Þ¥ó¥É‘bash ./configure’¤ò»ÈÍѤ·¤Þ¤¹¡¥
¥·¥§¥ë¤Ë¤è¤Ã¤Æ¤Ï¡¤Ã±°ì¤Îʸ¤ÎÃæ¤Ë¥Ò¥¢¥É¥¥å¥á¥ó¥È¤¬Â¿²á¤®¤ë¤È¤¡¤Èó¾ï¤ËÈó ¸úΨ¤Ë¤Ê¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡¥Î㤨¤Ð¡¤configure.ac¤Ë°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î ´Þ¤á¤¿¤È¤·¤Þ¤¹¡¥
if <cross_compiling>; then assume this and that else check this check that check something else … on and on forever … fi
¥·¥§¥ë¤Ï¡¤¤½¤ÎÃæ¤Î¤½¤ì¤¾¤ì¤Î¥Ò¥¢¥É¥¥å¥á¥ó¥È¤ËÂФ·¤Æ°ì»þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·
¤Ê¤¬¤é¡¤if
/fi
¤Îʸ̮Á´ÂΤò¥Ñ¡¼¥¹¤·¤Þ¤¹¡¥fork
¤´¤È¤Ë¤½
¤Î¤è¤¦¤Ê¥Ò¥¢¥É¥¥å¥á¥ó¥È¤ËÂФ·¤Æ¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¥·¥§¥ë¤â¤¢¤ê¡¤¥¤¥ó¥¹¥È¡¼
¥ë¤µ¤ì¤¿¸å¤Î¥¯¥ê¡¼¥ó¥¢¥Ã¥×¥³¡¼¥É¤ÇÀµ¤·¤¯ºï½ü¤µ¤ì¤Þ¤¹¡¥¤½¤ì¤Ï¡¤¥·¥§¥ë¤¬±Ê
µ×¤Ë¼õ¤±Æþ¤ì¤é¤ì¤ë¥ê¥ó¥¯¤òºîÀ®¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¡¥
if
/fi
¤Î³°Éô¤Î¥Æ¥¹¥È¤ò°Üư¤·¤¿¤ê¡¤Ê£¿ô¤Îif
/fi
¤Îʸ̮¤òºîÀ®¤·¤¿¤ê¤¹¤ë¤³¤È¤Ç¡¤¤«¤Ê¤êưºî¤¬²þÁ±¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡¥¤È¤Ë¤«¤¯¡¤
¤³¤¦¤¤¤Ã¤¿¹½À®¤Ï¡¤Åµ·¿Åª¤ÊAutoconf¤Î»ÈÍѤǤÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡¥¼ÂºÝ¡¤M4¥Þ
¥¯¥í¤Ï¡¤¥·¥§¥ë¤Î¾ò·ïʸ¤ò¸«¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¤Î¤Ç¡¤¤½¤ì¤Ï¿ä¾©¤µ¤ì¤Æ¤ª¤é¤º¡¤
¾ò·ïʬ´ô¤ÎÁ°¤Ë¤½¤ì¤¬Å¸³«¤µ¤ì¡¤¼Â¹Ô»þ¤Ë¾ò·ïʸ¤¬¼ºÇÔ¤À¤Èʬ¤«¤ë¤È¤¡¤¥Þ¥¯¥í
Ÿ³«¤Ë¼ºÇÔ¤¹¤ë¤«¤â¤·¤ì¤º¡¤¥Þ¥¯¥í¤Î¼Â¹Ô¤ò´°Á´¤Ë½ªÎ»¤Ç¤¤Ê¤¤¤Ç¤·¤ç¤¦¡¥