bash
Linux ¤Ê¤É¤Çɸ½à¤È¤Ê¤Ã¤Æ¤¤¤ë¥³¥Þ¥ó¥É¥·¥§¥ë¡£¥æ¡¼¥¶¡¼¤«¤é¤ÎÆþÎϤò¼õ¤±ÉÕ¤±¤Æ¡¢¼ÂºÝ¤Ë¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¡£
¢¨ºÇ¸å¤Î 3 ¤Ä¤Ï¡¢ variable ¤¬ @, * ¤â¤·¤¯¤Ï¤½¤ì¤é¤òź¤¨»ú¤È¤¹¤ëÇÛÎó¤Ç¤¢¤Ã¤¿¤Ð¤¢¤¤¡¢¤½¤Î¤¹¤Ù¤Æ¤ÎÍ×ÁǤËŬÍѤ·¤¿·ë²Ì¤òŸ³«¤¹¤ë¡£
»È¤¤Êý
ÆüìÊÑ¿ô
$1,...$9,${10}... | ¸Ä¡¹¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¡Ê°ÌÃ֥ѥé¥á¡¼¥¿¡Ë |
$# | °ÌÃ֥ѥé¥á¡¼¥¿¤Î¸Ä¿ô |
$@ | "$1" "$2"... ¤Î·Á¼°¤Ç¤¹¤Ù¤Æ¤Î°ÌÃ֥ѥé¥á¡¼¥¿¤òŸ³« |
$* | "$1 $2 ..." ¤Î·Á¼°¤Ç¤¹¤Ù¤Æ¤Î°ÌÃ֥ѥé¥á¡¼¥¿¤òŸ³« |
$0 | ¥·¥§¥ë¡¢¤â¤·¤¯¤Ï¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Î̾Á° |
$? | ºÇ¸å¤Ë¼Â¹Ô¤·¤¿¥³¥Þ¥ó¥É¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹ |
$$ | ¸½ºß¤Î¥·¥§¥ë¤Î¥×¥í¥»¥¹ ID |
$! | ºÇ¸å¤Ë¼Â¹Ô¤µ¤ì¤¿¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID |
ÊÑ¿ôŸ³«¤Î¥Õ¥£¥ë¥¿
- ${variable:-word}
- variable ¤¬Ì¤ÄêµÁ¤« null ¤Ç¤¢¤ì¤Ð word ¤ËÃÖ´¹¤µ¤ì¤ë¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð variable ¤¬Å¸³«¤µ¤ì¤ë¡£
- ${variable:=word}
- variable ¤¬Ì¤ÄêµÁ¤« null ¤Ç¤¢¤ì¤Ð word ¤ò variable ¤ËÂåÆþ¡£ÂåÆþ¤¬¤¢¤Ã¤¿¤«Èݤ«¤Ë¤«¤«¤ï¤é¤º¡¢ variable ¤¬Å¸³«¤µ¤ì¤ë¡£
- ${variable:?word}
- variable ¤¬Ì¤ÄêµÁ¤« null ¤Ç¤¢¤ì¤Ð word ¤òɸ½à¥¨¥é¡¼½ÐÎϤËɽ¼¨¡£¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Î½èÍýÃæ¤Ê¤é¥¹¥¯¥ê¥×¥È¤ò½ªÎ»¤¹¤ë¡£
- ${variable:+word}
- variable ¤¬Ì¤ÄêµÁ¤« null ¤Ç¤¢¤ì¤Ð¤Ê¤Ë¤âŸ³«¤µ¤ì¤Ê¤¤¡£¤½¤ì°Ê³°¤Ê¤é word ¤ËÃÖ´¹¤µ¤ì¤ë¡£
- ${variable:offset:length}
- variable ¤Î offset ʸ»úÌܤ«¤é length ʸ»ú¤òŸ³«¤¹¤ë¡£ offset, length ¤Ï»»½ÑŸ³«¤¬Í¸ú¡£ offset ¤ËÉé¤ÎÃͤò»ØÄꤹ¤ë¤È¡¢Ê¸»úÎó¤ÎºÇ¸å¤«¤é¤Îʸ»ú¿ô¤Ë¤Ê¤ë¡£
- ${@:offset:length}
- offset ÈÖÌܤ«¤é length ¸Ä¤Î°ÌÃ֥ѥé¥á¡¼¥¿¡Ê¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¡Ë¤¬Å¸³«¤µ¤ì¤ë¡£
- ${variable[@]:offset:length}, ${variable[*]:offset:length}
- ÇÛÎó variable ¤Î offset ÈÖÌܤ«¤é length ¸Ä¤ÎÍ×ÁǤòŸ³«¤¹¤ë¡£
- ${#variable}
- variable ¤Îʸ»ú¿ô¡ÊÇÛÎó¤Î¾ì¹ç¤ÏÍ×ÁÇ¿ô¡Ë¤ËÃÖ´¹¤µ¤ì¤ë¡£
- ${variable#pattern}, ${variable##pattern}
- variable ¤ÎÀèƬ¤¬ pattern ¤Ë°ìÃפ¹¤ë¤Ê¤é¡¢¤½¤ì¤òºï½ü¤·¤ÆŸ³«¡£°ìÃפ·¤Ê¤±¤ì¤Ð variable ¤ò¤½¤Î¤Þ¤ÞŸ³«¡£ # ¤ÏºÇû°ìÃס¢ ## ¤ÏºÇĹ°ìÃס£
- ${variable%pattern}, ${variable%%pattern}
- variable ¤ÎÀèƬ¤¬ pattern ¤Ë°ìÃפ¹¤ë¤Ê¤é¡¢¤½¤ì¤òºï½ü¤·¤ÆŸ³«¡£°ìÃפ·¤Ê¤±¤ì¤Ð variable ¤ò¤½¤Î¤Þ¤ÞŸ³«¡£ % ¤ÏºÇû°ìÃס¢ %% ¤ÏºÇĹ°ìÃס£
- ${variable/pattern/string}, ${variable//pattern/string}
- variable ¤ÎÃæ¤ÎºÇĹ°ìÃ×¤Ç pattern ¤Ë¥Þ¥Ã¥Á¤¹¤ëÉôʬ¤ò string ¤ËÃÖ´¹¤·¤ÆŸ³«¤¹¤ë¡£ / ¤ÏºÇ½é¤Î¤Ò¤È¤Ä¤òÃÖ´¹¡¢ // ¤Ï¥Þ¥Ã¥Á¤¹¤ë¤¹¤Ù¤Æ¤ÎÉôʬ¤òÃÖ´¹¡£
¢¨ºÇ¸å¤Î 3 ¤Ä¤Ï¡¢ variable ¤¬ @, * ¤â¤·¤¯¤Ï¤½¤ì¤é¤òź¤¨»ú¤È¤¹¤ëÇÛÎó¤Ç¤¢¤Ã¤¿¤Ð¤¢¤¤¡¢¤½¤Î¤¹¤Ù¤Æ¤ÎÍ×ÁǤËŬÍѤ·¤¿·ë²Ì¤òŸ³«¤¹¤ë¡£
À©¸æ¹½Â¤
- for variable [in word1 word2...;] do cmd; done
- while cmd1; do cmd2; done
- until cmd1; do cmd2; done
- if cmd1; then cmd2; [elif cmd3; then cmd4;] fi
- case word in pattern1 [ | pattern2...] ) cmd ;; ... [ * ) cmd ;;] esac
- select variable [in word1 word2...;] do cmd; done
¥¡¼¥ï¡¼¥É
»²¹Í
2007ǯ03·î19Æü(·î) 11:54:26 Modified by sourcewalker