Next: Limitations of Builtins, Previous: Parentheses, Up: Portable Shell [Contents][Index]
¥·¥§¥ë¤Îưºî¤Ë¿¼¤¯±Æ¶Á¤¹¤ë¤¿¤á¡¤»ÈÍѤ¹¤Ù¤¤Ç¤Ï¤Ê¤¤¥·¥§¥ëÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡¥
¥·¥§¥ë¤«¤é¤Þ¤È¤â¤Êưºî¤ËÌá¤ë¤¿¤á¡¤unset¤¹¤Ù¤ÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¤¬¡¤
unset
¤Ï°Ü¿¢À¤¬Ìµ¤¯(see Limitations of Builtins)¡¤ÂåÂØÃͤ¬
ɬÍפˤʤê¤Þ¤¹¡¥¤³¤ì¤é¤ÎÊÑ¿ô¤ò°Ê²¼¤Ë¥ê¥¹¥È¥¢¥Ã¥×¤·¤Þ¤¹¡¥
CDPATH
¤³¤ÎÊÑ¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤¡¤¤½¤ì¤Ïcd
¤¬ÁêÂÐŪ¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¸Æ¤Ó
½Ð¤µ¤ì¤ë¤È¤¤Ë¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤òÀßÄꤷ¤Þ¤¹¡¥POSIX
1003.1-2001¤Ç¤Ï¡¤CDPATH
¤Ç¶õ¤Ç¤Ï¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê̾¤¬Àµ¤·¤¯»ÈÍѤµ¤ì
¤Æ¤¤¤ë¾ì¹ç¡¤cd
¤ÏÀäÂÐŪ¤Ê¥Õ¥¡¥¤¥ë̾¤ò·ë²Ì¤È¤·¤Æ½ÐÎϤ¹¤ë¤³¤È¤Ë¤Ê¤Ã
¤Æ¤¤¤Þ¤¹¡¥»Äǰ¤Ê¤¬¤é¤³¤Î½ÐÎϤǤϡ¤abs
¤¬¥Ñ¥¹¤òÆó²ó¼õ¤±¤È¤ë¤Î¤Ç¡¤
‘abs=`cd src && pwd`’¤Î¤è¤¦¤Ê´·ÍѶ礬ÂÌÌܤˤʤê¤Þ¤¹¡¥¤Þ¤¿¡¤Â¿¤¯¤Î¥·¥§
¥ë¤Ï¡¤¤³¤ÎÉôʬ¤ÎPOSIX¤Ë½àµò¤·¤Æ¤¤¤Þ¤»¤ó¡¥Î㤨¤Ð¡¤zsh
¤Ï¡¤.°Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤¬CDPATH
¤ÇÁªÂò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç°Ê³°¡¤
·ë²Ì¤ò½ÐÎϤ·¤Þ¤»¤ó¡¥
¼ÂºÝ¡¤¤³¤ÎÌäÂ꤬¤¢¤ë¥·¥§¥ë¤Ïunset
¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Î¤Ç¡¤°Ê²¼
¤Î¤è¤¦¤Ë¤·¤Æ¤½¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
Autoconf¤¬À¸À®¤·¤¿¥¹¥¯¥ê¥×¥È¤Ï¼«Æ°Åª¤ËCDPATH
¤òunset¤¹¤ë¤Î¤Ç¡¤¤³¤ì
¤é¤Î¥¹¥¯¥ê¥×¥È¤Î¤³¤ÎÌäÂê¤ò¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡¥
IFS
IFS
¤ÎºÇ½é¤Îʸ»ú¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ËÀßÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡¥¼ÂºÝ¡¤
‘"$@"’¤ÇÍ×ÁǤò²Ã¤¨¤ë¤È¤¤Ï¡¤Bourne¥·¥§¥ë¤ÏºÇ½é¤Îʸ»ú(¥Ð¥Ã¥¯¥¹¥é¥Ã
¥·¥å)¤ò»ÈÍѤ·¡¤¤½¤·¤Æ¡¤¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¥¨¥¹¥±¡¼¥×¤ò¤â¤¦°ìÅÙ²ò¼á¤¹¤ë(¡ª)
¥·¥§¥ë¤â¤¢¤ê¡¤¤½¤Î¤¿¤á¡¤¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤È¤½¤Î¾¤Î´ñ̯¤Êʸ»ú¤Ç½ª¤ë¤³¤È¤¬²Ä
ǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥
(split¤ò¼Â¹Ô¤·¤Æ¤¤¤Ê¤¤¤È¤¡¤É¸½àŪ¤Ê¥³¡¼¥É¤Î)IFS
¤ÎŬÀÚ¤ÊÃͤϡ¤
‘SPCTABRET’¤Ç¤¹¡¥‘@*’¤Î°ú¿ô¤òÏ¢·ë¤¹¤ë¤¿¤á¤Ë
»ÈÍѤ¹¤ë¤Î¤Ç¡¤ºÇ½é¤Îʸ»ú¤ÏÆÃ¤Ë½ÅÍפǤ¹¡¥
LANG
LC_ALL
LC_COLLATE
LC_CTYPE
LC_MESSAGES
LC_MONETARY
LC_NUMERIC
LC_TIME
¤¢¤Þ¤ê¤Ë¿¤¯¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥³¡¼¥É¤¬C¥í¥±¡¼¥ë¤ò²¾Äꤷ¤Æ¤¤¤Æ¡¤ POSIX¤Ç¤ÏC¥í¥±¡¼¥ë¤¬Í׵ᤵ¤ì¤ë¾ì¹ç¤Ï¥í¥±¡¼¥ë¤Î´Ä¶ÊÑ¿ô¤ò ‘C’¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¤Autoconf¤¬À¸À®¤·¤¿¥¹¥¯¥ê¥×¥È¤ÏÄ̾¤³ ¤ì¤é¤Î¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤ò‘C’¤ËÀßÄꤷ¤Þ¤¹¡¥¤·¤«¤·¡¤Èóɸ½à¤Î¸Å¤¤¥·¥¹¥Æ¥à (ÆÃ¤ËSCO)¤Ç¤Ï¡¤¥í¥±¡¼¥ë¤Î´Ä¶ÊÑ¿ô¤¬‘C’¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì ¹ç¤Ï²õ¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¡¤¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¤ÇAutoconf¤¬À¸À®¤·¤¿¥¹¥¯¥ê¥×¥È¤ò¼Â ¹Ô¤¹¤ë¤È¤¡¤Âå¤ï¤ê¤ËÊÑ¿ô¤ò̤ÀßÄê(unset)¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡¥
LANGUAGE
LANGUAGE
¤ÏPOSIX¤Ç»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¤¬¡¤¤½¤ì¤Ï¾ì¹ç¤Ë¤è¤Ã
¤Æ¤ÏLC_ALL
¤ËÍ¥À褵¤»¤ëGNU¤Î³ÈÄ¥¤Ê¤Î¤Ç¡¤Autoconf¤¬À¸À®¤·
¤¿¥¹¥¯¥ê¥×¥È¤Ï¤½¤ì¤âÀßÄꤷ¤Þ¤¹¡¥
LC_ADDRESS
LC_IDENTIFICATION
LC_MEASUREMENT
LC_NAME
LC_PAPER
LC_TELEPHONE
¤³¤ì¤é¤Î¥í¥±¡¼¥ë´Ä¶ÊÑ¿ô¤ÏGNU¤Î³ÈÄ¥¤Ç¤¹¡¥¤½¤ì¤é¤Ï¡¤¾åµ¤Î
POSIX¤ÎÃç´Ö(LC_COLLATE
¤Ê¤É)¤Î¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡¥
LINENO
¤Û¤È¤ó¤É¤Î¶áÂåŪ¤Ê¥·¥§¥ë¤Ï¡¤¸½ºß¤Î¹ÔÈÖ¹æ¤òLINENO
¤ÇÄ󶡤·¤Æ¤¤¤Þ¤¹¡¥
¤½¤ÎÃͤϡ¤¸½ºß¤Î¥³¥Þ¥ó¥É¤ÎºÇ½é¤Î¹ÔÈÖ¹æ¤Ç¤¹¡¥Autoconf¤Ï¶áÂåŪ¤Ê¥·¥§¥ë¤Ç
configure
¤Î¼Â¹Ô¤ò»î¤ß¤Þ¤¹¡¥ÍøÍѲÄǽ¤Ê¤½¤Î¤è¤¦¤Ê¥·¥§¥ë¤¬Ìµ¤¤¾ì
¹ç¡¤¤½¤ì¤¾¤ì¤Îʸ»úÎó$LINENO
(±Ñ¿ôʸ»ú¤¬Â³¤«¤Ê¤¤)¤ò¥¤¥ó¥¹¥¿¥ó¥¹¤ò¹Ô
ÈÖ¹æ¤ÇÃÖ´¹¤¹¤ë¤¿¤á¤Ë¡¤Sed¤ËÁ°¤â¤Ã¤ÆÅϤ¹¼êË¡¤òÍѤ¤¤Æ¡¤LINENO
¤Î¼ÂÁõ
¤ò»î¤ß¤Þ¤¹¡¥
¼Â¹Ô»þ¤Îưºî¤¬°Û¤Ê¤ë¤Î¤Ç¡¤eval
¤ÇLINENO
¤Ë°Í¸¤¹¤Ù¤¤Ç¤Ï
¤¢¤ê¤Þ¤»¤ó¡¥¤Þ¤¿¡¤Sed¤ËÁ°¤â¤Ã¤ÆÅϤ¹¼êË¡¤òÍѤ¤¤ë²ÄǽÀ¤Ï¡¤°úÍÑÉä¤Ç°Ï¤ó¤Ç
¤¤¤ë¤È¤¡¤¥Ò¥¢¥É¥¥å¥á¥ó¥È¤Î¤È¤¡¤¤Þ¤¿¤Ï¹Ô¤ò¸Ù¤ë¤Û¤ÉŤ¤¥³¥Þ¥ó¥É¤Î¤È¤¡¤
$LINENO
¤Ë°Í¸¤¹¤Ù¤¤Ç¤Ï¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡¥¤¿¤À¤·¡¤¥µ¥Ö¥·¥§
¥ë¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡¥°Ê²¼¤ÎÎã¤Ç¤Ï¡¤°ì¹ÔÌÜ¡¤Ï»¹ÔÌÜ¡¤¤½¤·¤Æ¶å¹ÔÌܤϰܿ¢À¤¬
¤¢¤ê¤Þ¤¹¤¬¡¤¤½¤ì°Ê³°¤ÎLINENO
¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï°Ü¿¢À¤¬¤¢¤ê¤Þ¤»¤ó¡¥
$ cat lineno echo 1. $LINENO cat <<EOF 3. $LINENO 4. $LINENO EOF ( echo 6. $LINENO ) eval 'echo 7. $LINENO' echo 8. '$LINENO' echo 9. $LINENO ' 10.' $LINENO
$ bash-2.05 lineno 1. 1 3. 2 4. 2 6. 6 7. 1 8. $LINENO 9. 9 10. 9
$ zsh-3.0.6 lineno 1. 1 3. 2 4. 2 6. 6 7. 7 8. $LINENO 9. 9 10. 9
$ pdksh-5.2.14 lineno 1. 1 3. 2 4. 2 6. 6 7. 0 8. $LINENO 9. 9 10. 9
$ sed '=' <lineno | > sed ' > N > s,$,-, > : loop > s,^\([0-9]*\)\(.*\)[$]LINENO\([^a-zA-Z0-9_]\),\1\2\1\3, > t loop > s,-$,, > s,^[0-9]*\n,, > ' | > sh 1. 1 3. 3 4. 4 6. 6 7. 7 8. 8 9. 9 10. 10
NULLCMD
¥³¥Þ¥ó¥É‘>foo’¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤È¤¡¤zsh
¤Ï‘$NULLCMD
>foo’¤ò¼Â¹Ô¤·¤Þ¤¹¡¥Bourne¥·¥§¥ë¤ÏNULLCMD
¤¬‘:’¤À¤È¹Í¤¨¤Þ¤¹¤¬¡¤
zsh
¤ÏBourne¥·¥§¥ë¸ß´¹¥â¡¼¥É¤Ç¤â¡¤NULLCMD
¤ò‘cat’¤Ë
ÀßÄꤷ¤Þ¤¹¡¥NULLCMD
¤ÎÀßÄê¤ò˺¤ì¤¿¾ì¹ç¡¤¥¹¥¯¥ê¥×¥È¤Ïɸ½àÆþÎϤ«¤é¤Î
¥Ç¡¼¥¿ÂÔ¤Á¤Î¤¿¤á¥µ¥¹¥Ú¥ó¥É¾õÂ֤ˤʤ뤫¤â¤·¤ì¤Þ¤»¤ó¡¥
ENV
MAIL
MAILPATH
PS1
PS2
PS4
¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¤ÂÐÏÃŪ¤Ê¥·¥§¥ë¤ËÂФ·¤Æ¤Î¤ß±Æ¶Á¤¹¤ë¤È¹Í¤¨¤é¤ì¤ë¤Î¤Ç¡¤¥·¥§
¥ë¥¹¥¯¥ê¥×¥È¤ËÂФ·¤ÆÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¤·¤«¤·¡¤¾¯¤Ê¤¯¤È¤â°ì¤Ä¤Î¥·¥§¥ë
(pre-3.0 UWIN ksh
)¤Ï¤½¤ì¤¬ÂÐÏÃŪ¤«¤É¤¦¤«¤òº®Æ±¤·¡¤¤Ä¤Þ¤ê
(Î㤨¤Ð)PS1
¤ÎÉûºîÍѤȤ·¤Æ¡¤‘$?’¤òͽ´ü¤»¤ºÊѹ¹¤¹¤ë¤Ï¤º¤Ç¤¹¡¥¤³
¤Î¥Ð¥°¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¡¤Autoconf¤¬À¸À®¤·¤¿¥¹¥¯¥ê¥×¥È¤Ï°Ê²¼¤Î¤è¤¦¤Ê¤³¤È¤ò
¤·¤Þ¤¹¡¥
(unset ENV) >/dev/null 2>&1 && unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ '
PWD
POSIX 1003.1-2001¤Ï¡¤cd
¤Èpwd
¤¬¸½ºß¤Î¥Ç¥£¥ì
¥¯¥È¥ê¤ÎÏÀÍýŪ¤Ê¥Ñ¥¹¤ò¼¨¤¹PWD
´Ä¶ÊÑ¿ô¤òɬ¤º¹¹¿·¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Æ
¤¤¤Þ¤¹¤¬¡¤ÅÁÅýŪ¤Ê¥·¥§¥ë¤Ï¤³¤ì¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡¥°ì¤Ä¤Î¥·¥§¥ë¤Î¼ÂÂÎ
¤¬PWD
¤ò´ÉÍý¤·¤Æ¤¤¤Æ¡¤¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈÊ̤Υ·¥§¥ë¤ÏPWD
¤òÃΤé
¤º¤Ëcd
¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¤¤³¤ì¤Çº®Í𤹤ë¤Ï¤º¤Ç¤¹¡¥¤³¤Î¾õ¶·¤Ç¤Ï¡¤
PWD
¤Ï´Ö°ã¤Ã¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Þ¤¹¡¥‘$PWD’¤ÎÂå¤ï¤ê¤Ë
‘`pwd`’¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥
status
¤³¤ÎÊÑ¿ô¤Ï¡¤zsh
(¾¯¤Ê¤¯¤È¤â3.1.6)¤Ç¤Î‘$?’¤Ø¤Î¥¨¥¤¥ê¥¢¥¹¤Ç¡¤¤½
¤Î¤¿¤áÆÉ¤ß½Ð¤·ÀìÍѤˤʤäƤ¤¤Þ¤¹¡¥»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡¥
PATH_SEPARATOR
ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¤configure
¤Ï¥Ó¥ë¥É¥·¥¹¥Æ¥à¤ËÂФ¹¤ëŬÀÚ¤Ê
¥Ñ¥¹¤ÎʬΥ»Ò¤ò¸¡½Ð¤·¡¤PATH_SEPARATOR
½ÐÎÏÊÑ¿ô¤ò¤½¤ì¤Ë±þ¤¸¤ÆÀßÄꤷ
¤Þ¤¹¡¥
DJGPP¥·¥¹¥Æ¥à¤Ç¤Ï¡¤¥Ñ¥¹Ê¬Î¥»Ò¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¡¤PATH_SEPARATOR
´Ä¶
ÊÑ¿ô¤òbash
¤¬(PATH
¤Î¤è¤¦¤Ê)ÆÃÄê¤Î´Ä¶ÊÑ¿ô¤òÀßÄꤹ¤ë¤¿¤á
¤Ë»ÈÍѤ·¤Æ¤¤¤ë‘:’¤Þ¤¿¤Ï‘;’¤Î¤¤¤º¤ì¤«¤ËÀßÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
¤³¤ì¤Ïbash
ÆâÉô¤Ç¤Î¤ßưºî¤¹¤ë¤Î¤Ç¡¤¥Ñ¥¹Ê¬Î¥»Ò¤È¤·¤Æ‘;’¤¬¥µ
¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ëÆâ¤ÇÂåÆþ¤¹¤ëÊý¤¬°ÂÁ´¤À¤í¤¦¤È¤¤¤¦Íýͳ¤«¤é¡¤
configure
¤Çɸ½àŪ¤ÊDOS¤Î¥Ñ¥¹Ê¬Î¥»Ò(‘;’)¤ò¸¡½Ð¤·
¤¿¤¤¤³¤È¤Ç¤·¤ç¤¦¡¥¤½¤Î¤¿¤á¡¤¤³¤ÎÊÑ¿ô¤òunset¤¹¤ë¤«¡¤‘;’¤ËÀßÄꤷ¤Æ¤¯
¤À¤µ¤¤¡¥
RANDOM
RANDOM
¤òÄ󶡤¹¤ë¥·¥§¥ë¤â¿¤¯¤¢¤ê¡¤¤½¤ÎÊÑ¿ô¤Ï»ÈÍѤ¹¤ë¤¿¤Ó¤Ë°Û¤Ê¤ë
À°¿ô¤òÊÖ¤·¤Þ¤¹¡¥¤½¤ÎÃͤ¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¤È¤¡¤Êѹ¹¤µ¤ë¤³¤È¤Ï¤Û¤È¤ó¤É¤¢¤ê
¤Þ¤»¤ó¤¬¡¤IRIXQ 6.5¤Ç¤ÏËè²óÃͤ¬Êѹ¹¤µ¤ì¤Þ¤¹¡¥¤³¤ì¤Ï¡¤set
¤ò»ÈÍѤ·¤Æ´Æ»ë¤¹¤Ù¤¤Ç¤¹¡¥
Next: Limitations of Builtins, Previous: Parentheses, Up: Portable Shell [Contents][Index]