¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ç¤ÎÀ©¸æʸ

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Î´ðËÜ¤Ç ³Ø½¬¤·¤¿ÆâÍƤòƧ¤Þ¤¨¤Æ¡¢À©¸æʸ¤ò³Ø½¬¤·¡¢ ¤è¤êÊ£»¨¤Ê½èÍý¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤ç¤¦¡£À©¸æʸ¤È¤ÏÆñ¤·¤¤¸ÀÍÕ¤Ë ´¶¤¸¤ë¤«¤âÃΤì¤Þ¤»¤ó¤¬¡¢

¡Ö¤¢¤ë¾ò·ï¤Î»þ¤Ë¤ÏA¤È¤¤¤¦½èÍý¤ò¹Ô¤¦¡×
¡Ö¾ò·ï¤Ë¤¢¤Æ¤Ï¤Þ¤é¤Ê¤¤»þ¤Ë¤ÏB¤È¤¤¤¦½èÍý¤ò¹Ô¤¦¡×

¤È¤¤¤¦¤è¤¦¤Ê¡¢ÆÃÄê¤Î¾ò·ï¤Ë¹çÃפ¹¤ë¤«È½Äꤷ¡¢ ¤½¤Î·ë²Ì°Û¤Ê¤ë½èÍý¤ò¹Ô¤¦¾ì¹ç¤Ë¡¢À©¸æʸ¤¬ÍøÍѤµ¤ì¤Þ¤¹¡£ ½ç¤òÄɤäÆÎý½¬¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

°ú¿ô

¤Þ¤º°ú¿ô¡Ê¤Ò¤­¤¹¤¦¡Ë¤È¤¤¤¦³µÇ°¤òÍý²ò¤·¤Æ¤â¤é¤¤¤Þ¤¹¡£ ¡Öemacs¡×¤Ç¡Ötest2-1.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¤¬¡¢ ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç²¼µ­¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£

bash-2.05$ emacs test2-1.sh

emacs¤È¤¤¤¦¥¨¥Ç¥£¥¿¤¬Î©¤Á¾å¤¬¤ê¤Þ¤¹¤Î¤Ç¡¢²¼µ­¤ÎÆâÍƤò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£ emacs¤Î´ðËÜŪ¤Ê»È¤¤Êý¤Ï Â縫ÀèÀ¸¤Î¥Ú¡¼¥¸¤Ë¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ Êݸ¤¬¤Ç¤­¤¿¤é¡¢emacs¤ò½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£


#!/bin/bash

echo $@
echo $#
echo $0
echo $1

¤Þ¤À¤É¤Î¤è¤¦¤ÊÆâÍƤ«Íý²ò¤·¤Æ¤¤¤Ê¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢²¼µ­¤Î¤è¤¦¤Ëchmod¤ò »ÈÍѤ·¤Æ¡¢¼Â¹Ô²Äǽ¤Ê·Á¼°¤Ë¤·¤Þ¤¹¡£

bash-2.05$ chmod +x test2-1.sh
bash-2.05$ ls -l test2-1.sh
-rwxr-----    1 susaki   teacher        38  5·î  7 23:56 test2-1.sh

¡Öls -l¡×¤Î·ë²Ì¡¢¼Â¹Ô²Äǽ¤Ê·Á¼°¤ò¼¨¤¹¡Öx¡×¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ ²¼¤µ¤¤¡£

¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢

./¥·¥§¥ë¥¹¥¯¥ê¥×¥È̾

¤Î¤è¤¦¤Ë¡¢³§¤µ¤ó¤Î´Ä¶­ÀßÄê¤Ç¤Ï./¤ò ¤Ä¤±¤Ê¤¤¤È¼Â¹Ô¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤ì¤Ç¤Ï²¼µ­¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£ÀÖ¤¤Ê¸»ú¤ÎÉôʬ¤òÆþÎϤ·¤Æ Enter¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£

Îã1¡Ë
bash-2.05$ ./test2-1.sh

0
./test2-1.sh


Îã2¡Ë
bash-2.05$ ./test2-1.sh aaa bbbbb cc d e
aaa bbbbb cc d e
5
./test2-1.sh
aaa

Îã1¡Ë¤Ç¤Ï¡¢./test2-1.sh¤ÈÂǤÁ¹þ¤ó¤À¤À¤±¤Ç¤¹¡£ °ìÊý¡¢Îã2¡Ë¤Ç¤Ï¡¢./test2-1.sh aaa bbbbb cc d e¤È¡¢¶õÇò¤ò¶èÀÚ¤ê¤Ë¤·¤ÆÍÍ¡¹¤Êʸ»úÎó¤òÆþÎϤ·¤Þ¤·¤¿¡£

¤³¤³¤Ç¡¢¡Ötest2-1.sh¡×¤Î¥¹¥¯¥ê¥×¥È¤ÎÃæ¿È¤òÀâÌÀ¤·¤Þ¤¹¡£¡Ötest2-1.sh¡×¤ÎÃæ¤Ç echo¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤»¤Æ¤¤¤¿¤Î¤Ï¡¢²¼µ­¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£

ÊÑ¿ô °ÕÌ£
$@ Á´°ú¿ô¡Ê¶õÇò¶èÀÚ¤ê¡Ë
$# °ú¿ô¤Î¿ô
$0 ¥³¥Þ¥ó¥É̾
$1 1ÈÖÌܤΰú¿ô

°ú¿ô¤È¤Ï¡¢¾åµ­¤ÎÎã1¡¢2¤Ç¤Ï¡Ö./ test2-1.sh¡×¤è¤ê¸å¤ËÆþÎϤ·¤¿Ê¸»úÎó¤Î¤³¤È¤Ç¤¹¡£Îã1¤Ç¤Ï¡¢²¿¤âÆþÎϤ·¤Ê¤«¤Ã¤¿ ¤Î¤Ç¡¢Á´°ú¿ô¤Ï¶õÇò¹Ô¤Çɽ¤µ¤ì¡¢°ú¿ô¤Î¿ô¤â0¤È¤Ê¤ê¤Þ¤·¤¿¡£$0¤Ï¥³¥Þ¥ó¥É¤½¤Î ¤â¤Î¤òɽ¼¨¤·¤Þ¤¹¤Î¤Ç¡¢¡Ö./test2-1.sh¡×¤¬É½¼¨¤µ¤ì¤Þ¤·¤¿¡£

°ìÊý¡¢Îã2¤Ç¤Ï¡¢°ú¿ô¤ò¡Öaaa¡×¡Öbbbbb¡×¡Öcc¡×¡Öd¡×¡Öe¡×¤È5¤Ä»ØÄꤷ¤Þ¤·¤¿¡£ Á´°ú¿ô¤È¤·¤Æ¡Öaaa bbbbb cc d e¡×¤¬É½¼¨¤µ¤ì¡¢°ú¿ô¤Î¿ô¤Ï5¡¢¥³¥Þ¥ó¥É̾¤Ï ¡Ö./test2-1.sh¡×¡¢1ÈÖÌܤΰú¿ô¤È¤·¤Æ¡Öaaa¡×¤¬É½¼¨¤µ¤ì¤¿¤ï¤±¤Ç¤¹¡£

ifʸ¤Ë¤è¤ë¾ò·ïʬ´ô

¤Þ¤º¤Ï¡¢¡Ötest2-2.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤Ç¡¢²¼µ­¤ÎÆâÍƤòÊݸ¤·¤Þ¤·¤ç¤¦¡£

#!/bin/bash

hour=`date +%H`

if [ "$hour" -lt 12 ]
then
    echo "º£¤Ï¸áÁ°¤Ç¤¹"
else
    echo "º£¤Ï¸á¸å¤Ç¤¹"
fi

¤³¤ÎÃæ¿È¤òÀâÌÀ¤·¤Þ¤¹¤È¡¢

#!/bin/bash

hour=`date +%H`          <- ¸½ºß¤Î»þ¹ï¤òÊÑ¿ôhour¤ËÂåÆþ

if [ "$hour" -lt 12 ]      <- ÊÑ¿ôhour¤¬12¤è¤ê¾®¤µ¤¤¤«Èæ³Ó
then
    echo "º£¤Ï¸áÁ°¤Ç¤¹"  <- ÊÑ¿ôhour¤¬12¤è¤ê¾®¤µ¤±¤ì¤Ð¼Â¹Ô
else
    echo "º£¤Ï¸á¸å¤Ç¤¹"  <- ÊÑ¿ôhour¤¬12¤è¤ê¾®¤µ¤¯¤Ê¤±¤ì¤Ð¼Â¹Ô
fi

¤Ä¤Þ¤ê¡¢ÊÑ¿ôhour¤È12¤òÈæ³Ó¤·¤Æ¡¢12¤è¤ê¾®¤µ¤±¤ì¤Ð"º£¤Ï¸áÁ°¤Ç¤¹"¤È¤¤¤¦ ¥á¥Ã¥»¡¼¥¸¤ò¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð"º£¤Ï¸á¸å¤Ç¤¹"¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤µ¤»¤ë¡¢ ¤È¤¤¤¦ÆâÍƤǤ¹¡£

Ãí°Õ¡§ÊÑ¿ô¤ò[ ]¤ÎȽÄê¼°¤Ç»ÈÍѤ¹¤ëºÝ¤Ë¤Ï¡¢ " "¤Ç¤¯¤¯¤ëɬÍפ¬¤¢¤ë¤Î¤ÇÃí°Õ¤»¤è¡£¡ÊÊÑ¿ô¤ÎÃæ¿È¤¬¶õ¤Î¾ì¹ç¡¢ " "¤Ç¤¯¤¯¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢Èæ³Ó±é»»¤¬¤Ç¤­¤Ê¤¤¤È¤¤¤¦¥¨¥é¡¼¤¬É½¼¨ ¤µ¤ì¤ë¤¿¤á¡Ë

¾åµ­¤ÎÎã¤Ç¤Ï¡¢-lt¤È¤¤¤¦µ­¹æ¤ò»È¤¤¤Þ¤·¤¿¡£ ¤³¤ì¤Ï¡Öº¸Â¦¤Î¿ô»ú¤¬±¦Â¦¤Î¿ô»ú¤è¤ê¾®¤µ¤±¤ì¤Ð¿¿¡×¤È¤¤¤¦Èæ³Ó¤ò¹Ô¤¦ ±é»»»Ò¤Ç¤¹¡£Èæ³Ó¤ò¹Ô¤¦¾ì¹ç¡¢Ê¸»úÎó¤È¿ô»ú¤È¤Ç»ÈÍѤ¹¤ëµ­¹æ¤¬°Û¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ Ãí°Õ¤·¤Þ¤·¤ç¤¦¡£

ʸ»úÎó
= Åù¤·¤¤
!= Åù¤·¤¯¤Ê¤¤
¿ô»ú
-eq Åù¤·¤[ (equal to)
-ne Åù¤·¤¯¤Ê¤[ (not equal to)
-gt ¤è¤êÂ礭¤[ (greater than)
-ge °Ê¾å (greater than and equal to)
-lt ¤è¤ê¾®¤µ¤[ (less than)
-le °Ê²[ (less than and equal to)

ifʸ¤ÎÎý½¬ÌäÂê

  1. ²¼µ­¤ÎÆâÍƤò¡¢¡Ötest2-2-1.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤»¤è¡£ ¤½¤Î¸å¡¢¼Â¹Ô¤·Æ°ºî³Îǧ¤»¤è¡£ ¤Á¤Ê¤ß¤Ë¡¢read¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¥­¡¼¥Ü¡¼¥É¤«¤é¤ÎÆþÎϤòÊÑ¿ô¤ËÂåÆþ¤¹¤ë ¤³¤È¤¬¤Ç¤­¤ë¡£
    #!/bin/bash
    
    echo "¹¥¤­¤ÊÀ°¿ô¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤"
    read num
    
    if [ "$num" -lt 100 ]
    then
        echo "$num¤Ï100̤Ëþ¤Ç¤¹"
    elif [ "$num" -lt 1000 ]
    then
        echo "$num¤Ï100°Ê¾å1000̤Ëþ¤Ç¤¹"
    else
        echo "$num¤Ï1000°Ê¾å¤Ç¤¹"
    fi
    
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    bash-2.05$ ./test2-2-1.sh
    ¹¥¤­¤ÊÀ°¿ô¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤
    -9
    -9¤Ï100̤Ëþ¤Ç¤¹
    bash-2.05$ ./test2-2-1.sh
    ¹¥¤­¤ÊÀ°¿ô¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤
    120
    120¤Ï100°Ê¾å1000̤Ëþ¤Ç¤¹
    bash-2.05$ ./test2-2-1.sh
    ¹¥¤­¤ÊÀ°¿ô¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤
    1000
    1000¤Ï1000°Ê¾å¤Ç¤¹
    
  2. ²¼µ­¤ÎÆâÍƤò¡¢¡Ötest2-2-2.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤»¤è¡£ ¤½¤Î¸å¡¢¼Â¹Ô¤·Æ°ºî³Îǧ¤»¤è¡£
    #!/bin/bash
    
    echo "3²óÌܤξ®¥Æ¥¹¥È¤ÎÅÀ¿ô¡Ê0¤«¤é20¤Þ¤Ç¤Î¿ô»ú¡Ë¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤"
    read num
    
    if [ "$num" -ge 0 -a "$num" -lt 7 ]
    then
        echo "¤â¤Ã¤ÈÊÙ¶¯¤·¤Þ¤·¤ç¤¦¡£"
    elif [ "$num" -ge 7 -a "$num" -lt 15 ]
    then
        echo "¤Þ¤º¤Þ¤º¤Ç¤¹¡£"
    elif [ "$num" -ge 15 -a "$num" -le 20 ]
    then
        echo "¤è¤¯´èÄ¥¤ê¤Þ¤·¤¿"
    else
        echo "ÆþÎϤ·¤¿¿ô»ú¤Ï0¤«¤é20¤Þ¤Ç¤Î¿ô»ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
    fi
    
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    bash-2.05$ ./test2-2-2.sh
    3²óÌܤξ®¥Æ¥¹¥È¤ÎÅÀ¿ô¡Ê0¤«¤é20¤Þ¤Ç¤Î¿ô»ú¡Ë¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤
    0
    ¤â¤Ã¤ÈÊÙ¶¯¤·¤Þ¤·¤ç¤¦¡£
    bash-2.05$ ./test2-2-2.sh
    3²óÌܤξ®¥Æ¥¹¥È¤ÎÅÀ¿ô¡Ê0¤«¤é20¤Þ¤Ç¤Î¿ô»ú¡Ë¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤
    4
    ¤â¤Ã¤ÈÊÙ¶¯¤·¤Þ¤·¤ç¤¦¡£
    bash-2.05$ ./test2-2-2.sh
    3²óÌܤξ®¥Æ¥¹¥È¤ÎÅÀ¿ô¡Ê0¤«¤é20¤Þ¤Ç¤Î¿ô»ú¡Ë¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤
    19
    ¤è¤¯´èÄ¥¤ê¤Þ¤·¤¿
    bash-2.05$ ./test2-2-2.sh
    3²óÌܤξ®¥Æ¥¹¥È¤ÎÅÀ¿ô¡Ê0¤«¤é20¤Þ¤Ç¤Î¿ô»ú¡Ë¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤
    21
    ÆþÎϤ·¤¿¿ô»ú¤Ï0¤«¤é20¤Þ¤Ç¤Î¿ô»ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
    
  3. ²¼µ­¤ÎÆâÍƤò¡¢¡Ötest2-2-3.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤»¤è¡£ ¤½¤Î¸å¡¢¼Â¹Ô¤·Æ°ºî³Îǧ¤»¤è¡£
    #!/bin/bash
    
    echo "¥ê¥Æ¥é¥·¡¼¤ÎÀèÀ¸¤Î̾Á°¤ò¥í¡¼¥Þ»ú¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
    read name
    
    if [ "$name" = "suzuki" -o "$name" = "doi" ]
    then
        echo "¤¢¤Ê¤¿¤ÏA¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹"
    elif [ "$name" = "susaki" -o "$name" = "ohshiro" -o "$name" = "oshiro" ]
    then
        echo "¤¢¤Ê¤¿¤ÏB¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹"
    elif [ "$name" = "yamaga" -o "$name" = "shinohara" ]
    then
        echo "¤¢¤Ê¤¿¤ÏC¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹"
    else
        echo "ÆþÎϥߥ¹¤«¡¢ÆþÎϤ·¤¿Ì¾Á°¤ÎÀèÀ¸¤Ï¤¤¤Þ¤»¤ó¡£"
    fi
    
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    bash-2.05$ ./test2-2-3.sh
    ¥ê¥Æ¥é¥·¡¼¤ÎÀèÀ¸¤Î̾Á°¤ò¥í¡¼¥Þ»ú¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    oshiro
    ¤¢¤Ê¤¿¤ÏB¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹
    bash-2.05$ ./test2-2-3.sh
    ¥ê¥Æ¥é¥·¡¼¤ÎÀèÀ¸¤Î̾Á°¤ò¥í¡¼¥Þ»ú¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    ohshiro
    ¤¢¤Ê¤¿¤ÏB¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹
    bash-2.05$ ./test2-2-3.sh
    ¥ê¥Æ¥é¥·¡¼¤ÎÀèÀ¸¤Î̾Á°¤ò¥í¡¼¥Þ»ú¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    yamaga
    ¤¢¤Ê¤¿¤ÏC¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹
    bash-2.05$ ./test2-2-3.sh
    ¥ê¥Æ¥é¥·¡¼¤ÎÀèÀ¸¤Î̾Á°¤ò¥í¡¼¥Þ»ú¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    sato
    ÆþÎϥߥ¹¤«¡¢ÆþÎϤ·¤¿Ì¾Á°¤ÎÀèÀ¸¤Ï¤¤¤Þ¤»¤ó¡£
    bash-2.05$ ./test2-2-3.sh
    ¥ê¥Æ¥é¥·¡¼¤ÎÀèÀ¸¤Î̾Á°¤ò¥í¡¼¥Þ»ú¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    doi
    ¤¢¤Ê¤¿¤ÏA¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹
    
  4. ²¼µ­¤ÎÆâÍƤò¡¢¡Ötest2-2-4.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤»¤è¡£ ¤½¤Î¸å¡¢¼Â¹Ô¤·Æ°ºî³Îǧ¤»¤è¡£ ¡Ötest2-2-3.sh¡×¤Ïread¤òÍѤ¤¤ÆÊÑ¿ô¤ËÆþÎϥǡ¼¥¿¤òÂåÆþ¤·¤¿¤Î¤ËÂФ·¤Æ¡¢ ¡Ötest2-2-4.sh¡×¤Ç¤Ï¡¢¼Â¹Ô»þ¤Î°ú¿ô¤ò¤½¤Î¤Þ¤ÞÍøÍѤ·¤Æ¤¤¤ë¡£
    #!/bin/bash
    
    if [ "$1" = "" ]
    then
        echo "ÀèÀ¸¤Î̾Á°¤ò°ú¿ô¤È¤·¤ÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£"
    elif [ "$1" = "suzuki" -o "$1" = "doi" ]
    then
        echo "¤¢¤Ê¤¿¤ÏA¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹"
    elif [ "$1" = "susaki" -o "$1" = "ohshiro" -o "$1" = "oshiro" ]
    then
        echo "¤¢¤Ê¤¿¤ÏB¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹"
    elif [ "$1" = "yamaga" -o "$1" = "shinohara" ]
    then
        echo "¤¢¤Ê¤¿¤ÏC¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹"
    else
        echo "ÆþÎϥߥ¹¤«¡¢ÆþÎϤ·¤¿Ì¾Á°¤ÎÀèÀ¸¤Ï¤¤¤Þ¤»¤ó¡£"
    fi
    
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    bash-2.05$ ./test2-2-4.sh
    ÀèÀ¸¤Î̾Á°¤ò°ú¿ô¤È¤·¤ÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
    bash-2.05$ ./test2-2-4.sh ohshiro
    ¤¢¤Ê¤¿¤ÏB¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹
    bash-2.05$ ./test2-2-4.sh suzuki
    ¤¢¤Ê¤¿¤ÏA¥¯¥é¥¹¤Î³ØÀ¸¤Ç¤¹
    bash-2.05$ ./test2-2-4.sh tanaka
    ÆþÎϥߥ¹¤«¡¢ÆþÎϤ·¤¿Ì¾Á°¤ÎÀèÀ¸¤Ï¤¤¤Þ¤»¤ó¡£
    

whileʸ¤Ë¤è¤ë·«¤êÊÖ¤·

¤³¤³¤Ç¤Ïwhile¤ò»È¤Ã¤¿·«¤êÊÖ¤·¤Ë¤Ä¤¤¤Æ³Ø½¬¤·¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤ÎËÁƬ¤Ç ÀâÌÀ¤·¤¿°ú¿ô¤òÍøÍѤ·¤¿½èÍý¤ò ¾Ò²ð¤·¤Þ¤¹¡£Á°²ó¤ÈƱÍÍ¡¢ ¡Öemacs¡×¤Ç¡Ötest2-3.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£²¼µ­¤ÎÆâÍƤò µ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£

#!/bin/bash

while [ "$1" != "" ]
do
    echo $1
    shift
done

Êݸ¤·¤¿¤é¡¢chmod¤ò»ÈÍѤ·¤Æ¡Ötest2-3.sh¡×¤ò ¼Â¹Ô·Á¼°¤ËÊѹ¹¤·¡¢²¼µ­¤ÎÀÖ»ú¤Çɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤ËÆþÎϤ·¤Æ ¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

bash-2.05$ ./test2-3.sh aaa bbbbb cc d e
aaa
bbbbb
cc
d
e

¥¹¥¯¥ê¥×¥È¤ÎÃæ¿È¤ò¸«¤ë¤È¡¢

#!/bin/bash

while [ "$1" != "" ]   <- $1¡Ê1ÈÖÌܤΰú¿ô¡Ë¤¬¶õÇò¤Ç¤Ê¤¤´Ö¡¢
do                                              ½èÍý¤ò·«¤êÊÖ¤¹
    echo $1            <- $1¤Îɽ¼¨
    shift              <- °ú¿ô¤Î¥·¥Õ¥È¡Ê$2¤¬$1¤ØÂåÆþ¤µ¤ì¤ë¡Ë
done

¤È¤¤¤¦¤³¤È¤Ç¡¢¤¹¤Ù¤Æ¤Î°ú¿ô¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¤Ä¤Þ¤ê¡¢whileʸ¤Ç¤Ï¡¢

while [ ¾ò·ï¼° ] 
do
    ½èÍý
done

¤È¤¤¤¦·Á¼°¤ò¼è¤ê¡¢¾ò·ï¼°¤¬Ëþ¤¿¤µ¤ì¤ë´Ö¡¢do¤Èdone¤Ç°Ï¤Þ¤ì¤¿½èÍý¤ò·«¤êÊÖ¤· ¤Þ¤¹¡£

whileʸ¤ÎÎý½¬ÌäÂê

  1. ²¼µ­¤ÎÆâÍƤò¡¢¡Ötest2-3-1.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤»¤è¡£ ¤½¤Î¸å¡¢¼Â¹Ô¤·Æ°ºî³Îǧ¤»¤è¡£
    #!/bin/bash
    
    num=3
    while [ "$num" -lt 10 ]
    do
        echo '$num'"¤ÎÃͤÏ$num"
        num=`expr $num + 1`
    done
    
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    bash-2.05$ ./test2-3-1.sh
    $num¤ÎÃͤÏ3
    $num¤ÎÃͤÏ4
    $num¤ÎÃͤÏ5
    $num¤ÎÃͤÏ6
    $num¤ÎÃͤÏ7
    $num¤ÎÃͤÏ8
    $num¤ÎÃͤÏ9
    
  2. ²¼µ­¤ÎÆâÍƤò¡¢¡Ötest2-3-2.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤»¤è¡£ ¤½¤Î¸å¡¢¼Â¹Ô¤·Æ°ºî³Îǧ¤»¤è¡£ ¡Ötest2-3-1.sh¡×¤Ç¤Ï¡¢½é´üÃͤȤ·¤Æ3¤¬Í¿¤¨¤é¤ì¤¿num¤ÎÃͤ¬10¤è¤ê¤â¾®¤µ¤¤´Ö¡¢ do done¤Ç°Ï¤Þ¤ì¤¿Ì¿Îá¤ò·«¤êÊÖ¤·¤¿¤¬¡¢ ¡Ötest2-3-2.sh¡×¤Ç¤Ï¡¢¼Â¹Ô»þ¤Î°ú¿ô¤òÊÑ¿ônum¤ËÂåÆþ¤·¤Æ½èÍý¤·¤Æ¤¤¤ë¡£
    #!/bin/bash
    
    num=$1
    while [ "$num" -lt 10 ]
    do
        echo '$num'"¤ÎÃͤÏ$num"
        num=`expr $num + 1`
    done
    
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    bash-2.05$ ./test2-3-2.sh 2
    $num¤ÎÃͤÏ2
    $num¤ÎÃͤÏ3
    $num¤ÎÃͤÏ4
    $num¤ÎÃͤÏ5
    $num¤ÎÃͤÏ6
    $num¤ÎÃͤÏ7
    $num¤ÎÃͤÏ8
    $num¤ÎÃͤÏ9
    bash-2.05$ ./test2-3-2.sh 8
    $num¤ÎÃͤÏ8
    $num¤ÎÃͤÏ9
    bash-2.05$ ./test2-3-2.sh 12
    bash-2.05$
    
  3. ²¼µ­¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢Íð¿ô¤Ç·èÄꤷ¤¿ÃͤËÂФ·¡¢ÆþÎϤ·¤¿Ãͤ¬Â礭¤¤¤«¾®¤µ¤¤¤« ɽ¼¨¤·¡¢ºÇ½ªÅª¤ËÍð¿ô¤ÎÃͤò¿äÄꤹ¤ë¤â¤Î¤Ç¤¢¤ë¡£¿äÄêÃͤÈÍð¿ô¤ÎÃͤ¬ °ìÃפ·¤¿¾ì¹ç¤Ë¡¢break¤Çwhileʸ¤Î¥ë¡¼¥×¤«¤éæ½Ð¤¹¤ë¡£ ²¼µ­¤ÎÆâÍƤò¡¢¡Ötest2-3-4.sh¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤»¤è¡£ ¤½¤Î¸å¡¢¼Â¹Ô¤·Æ°ºî³Îǧ¤»¤è¡£
    #!/bin/bash
    
    num=$RANDOM
    
    echo "***** ¤¢¤ë±£¤µ¤ì¤¿ÃͤòÅö¤Æ¤Æ¤¯¤À¤µ¤[ *****"
    
    while true
    do
        echo "0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤"
        read x
        if [ $x -gt $num ]
        then
            echo "¤â¤Ã¤È¾®¤µ¤¤¤Ç¤¹¤è"
        elif [ $x -lt $num ]
        then
            echo "¤â¤Ã¤ÈÂ礭¤¤¤Ç¤¹¤è"
        else
            echo "¤º¤Ð¤êÅö¤¿¤ê¤Ç¤¹!"
            break
        fi
    done
    
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    bash-2.05$ ./test2-3-3.sh
    ***** ¤¢¤ë±£¤µ¤ì¤¿ÃͤòÅö¤Æ¤Æ¤¯¤À¤µ¤[ *****
    0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    10000
    ¤â¤Ã¤ÈÂ礭¤¤¤Ç¤¹¤è
    0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    20000
    ¤â¤Ã¤ÈÂ礭¤¤¤Ç¤¹¤è
    0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    30000
    ¤â¤Ã¤È¾®¤µ¤¤¤Ç¤¹¤è
    ¡Ê¾Êά¡Ë
    0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    23500
    ¤â¤Ã¤È¾®¤µ¤¤¤Ç¤¹¤è
    0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    23300
    ¤â¤Ã¤ÈÂ礭¤¤¤Ç¤¹¤è
    0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    23490
    ¤â¤Ã¤ÈÂ礭¤¤¤Ç¤¹¤è
    0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    23495
    ¤â¤Ã¤ÈÂ礭¤¤¤Ç¤¹¤è
    0¤«¤é32767¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
    23498
    ¤º¤Ð¤êÅö¤¿¤ê¤Ç¤¹!
    

[1.¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Î´ðËÜ] [3.¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Î»öÎã1] [4.¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Î»öÎã2]
[UNIX¥³¥Þ¥ó¥É¤Î¥Ú¡¼¥¸¤ØÌá¤ë] [¿Üºê½ã°ì¤Î¥Ú¡¼¥¸¤ØÌá¤ë]
¿Üºê½ã°ì¡¡µþÅÔÂç³ØÂç³Ø ¹©³Ø¸¦µæ²ÊÅԻԴĶ­¹©³ØÀ칶 ´Ä¶­¾ðÊó³Ø¹ÖºÂ