ÎÞÂÛÊÇ·þÎñÆ÷¹ÜÀí¡¢ÍøÂçÅäÖ㬻¹ÊÇÈí¼þ¿ª·¢¡¢¿ÆÑ§¼ÆË㣬Linux¶¼°çÑÝמÙ×ãÇáÖØµÄ½ÇÉ«
¶øÔÚLinux»·¾³Ï£¬±à³ÌºÍ½Å±¾±àд¸üÊDz»¿É»òȱµÄ¼¼ÄÜ
±¾ÎĽ«ÉîÈë̽ÌÖLinuxÖеÄIFÑ»·½á¹¹£¬ÕâÒ»ÕÆÎÕ±à³ÌÂß¼µÄÀûÆ÷£¬°ïÖú¶ÁÕßÔÚLinux½Å±¾±àдÖиü¼ÓÓÎÈÐÓÐÓà
Ò»¡¢IFÓï¾ä£ºÌõ¼þÅжϵĻù´¡ ÔÚ±à³ÌÖУ¬Ìõ¼þÅжÏÊDz»¿É»òȱµÄÒ»»·
ËüÔÊÐí³ÌÐò¸ù¾Ý²»Í¬µÄÌõ¼þÖ´Ðв»Í¬µÄ´úÂë¿é£¬´Ó¶øÊµÏÖ¸´ÔÓµÄÂß¼¿ØÖÆ
Linux½Å±¾ÖУ¬×î³£ÓõÄÌõ¼þÅжϹ¤¾ß¾ÍÊÇIFÓï¾ä
1.1 »ù±¾Óï·¨ IFÓï¾äµÄ»ù±¾Óï·¨ÈçÏ£º if ¡¾condition ¡¿; then # µ±Ìõ¼þÎªÕæÊ±Ö´ÐеÄÃüÁî command1 command2 ... else # µ±Ìõ¼þΪ¼ÙʱִÐеÄÃüÁî command3 command4 ... fi ÆäÖУ¬`condition` ÊÇÐèÒªÅжϵÄÌõ¼þ£¬Í¨³£Ó÷½À¨ºÅ `¡¾¡¿` °üΧ£¬²¢ÇÒÌõ¼þÓë·½À¨ºÅÖ®¼äÐèÒªÓпոñ
Èç¹ûÌõ¼þÎªÕæ£¬ÔòÖ´ÐÐ`then`Ö®ºóµÄÃüÁÈç¹ûÌõ¼þΪ¼Ù£¬ÔòÖ´ÐÐ `else` Ö®ºóµÄÃüÁî
`fi` ÓÃÓÚ½áÊøIFÓï¾ä
1.2 ³£ÓÃÌõ¼þÅÐ¶Ï ÔÚLinux½Å±¾ÖУ¬³£ÓõÄÌõ¼þÅжϰüÀ¨Îļþ²âÊÔ¡¢×Ö·û´®±È½ÏºÍÊýÖµ±È½Ï
- Îļþ²âÊÔ£ºÅжÏÎļþÊÇ·ñ´æÔÚ¡¢ÊÇ·ñΪÆÕͨÎļþ¡¢ÊÇ·ñΪĿ¼µÈ
ÀýÈ磬`-efile` ÅжÏÎļþÊÇ·ñ´æÔÚ
- ×Ö·û´®±È½Ï£º±È½ÏÁ½¸ö×Ö·û´®ÊÇ·ñÏàµÈ¡¢ÊÇ·ñ²»µÈ¡¢ÊÇ·ñÓÐÒ»¸öΪ¿ÕµÈ
ÀýÈ磬`¡¾ $str1 = $str2 ¡¿` ÅжÏÁ½¸ö×Ö·û´®ÊÇ·ñÏàµÈ
- ÊýÖµ±È½Ï£º±È½ÏÁ½¸öÊýÖµÊÇ·ñÏàµÈ¡¢ÊÇ·ñ´óÓÚ¡¢ÊÇ·ñСÓÚµÈ
ÀýÈ磬`¡¾ $num1 -eq $num2¡¿` ÅжÏÁ½¸öÊýÖµÊÇ·ñÏàµÈ
1.3 ʾÀý ÒÔÏÂÊÇÒ»¸ö¼òµ¥µÄʾÀý½Å±¾£¬ÓÃÓÚÅжÏÓû§ÊäÈëµÄÎļþÊÇ·ñ´æÔÚ£º !/bin/bash echo ÇëÊäÈëÎļþÃû£º read filename if ¡¾ -e $filename ¡¿; then echo Îļþ´æÔÚ
else echo Îļþ²»´æÔÚ
fi ¶þ¡¢Ñ»·½á¹¹£ºÖظ´Ö´ÐеÄħ·¨ ÔÚ±à³ÌÖУ¬Ñ»·½á¹¹ÔÊÐí³ÌÐòÖØ¸´Ö´ÐÐij¶Î´úÂ룬ֱµ½Âú×ãÌØ¶¨µÄÌõ¼þΪֹ
Linux½Å±¾ÖУ¬³£ÓõÄÑ»·½á¹¹°üÀ¨FORÑ»·¡¢WHILEÑ»·ºÍUNTILÑ»·
2.1 FORÑ»· FORÑ»·ÓÃÓÚ±éÀúһϵÁеÄÖµ»òÎļþ
Æä»ù±¾Óï·¨ÈçÏ£º for variable in list; do # Ñ»·ÌåÖеÄÃüÁî command1 command2 ... done ÆäÖУ¬`variable` ÊÇÑ»·±äÁ¿£¬`list` ÊÇÒª±éÀúµÄÖµ»òÎļþµÄÁбí
ÿ´ÎÑ»·Ê±£¬`variable` »á±»¸³ÖµÎª `list` ÖеÄÒ»¸öÔªËØ£¬È»ºóÖ´ÐÐÑ»·ÌåÖеÄÃüÁî
2.2 WHILEÑ»· WHILEÑ»·ÓÃÓÚÔÚÂú×ãÌØ¶¨Ìõ¼þÊ±ÖØ¸´Ö´ÐÐij¶Î´úÂë
Æä»ù±¾Óï·¨ÈçÏ£º while ¡¾condition ¡¿; do # Ñ»·ÌåÖеÄÃüÁî command1 command2 ... done ÆäÖУ¬`condition` ÊÇÐèÒªÅжϵÄÌõ¼þ
ÿ´ÎÑ»·¿ªÊ¼Ê±£¬¶¼»áÅжÏ`condition` ÊÇ·ñÎªÕæ£»Èç¹ûÎªÕæ£¬ÔòÖ´ÐÐÑ»·ÌåÖеÄÃüÁÈç¹ûΪ¼Ù£¬ÔòÌø³öÑ»·
2.3 UNTILÑ»· UNTILÑ»·ÓëWHILEÑ»·Ïà·´£¬ËüÔÚ²»Âú×ãÌØ¶¨Ìõ¼þÊ±ÖØ¸´Ö´ÐÐij¶Î´úÂë
Æä»ù±¾Óï·¨ÈçÏ£º until ¡¾condition ¡¿; do # Ñ»·ÌåÖеÄÃüÁî command1 command2 ... done ÓëWHILEÑ»·²»Í¬µÄÊÇ£¬UNTILÑ»·ÔÚÿ´ÎÑ»·¿ªÊ¼Ê±ÅжÏ`condition` ÊÇ·ñΪ¼Ù£»Èç¹ûΪ¼Ù£¬ÔòÖ´ÐÐÑ»·ÌåÖеÄÃüÁÈç¹ûÎªÕæ£¬ÔòÌø³öÑ»·
2.4 ʾÀý ÒÔÏÂÊÇÒ»¸öʹÓÃFORÑ»·±éÀúµ±Ç°Ä¿Â¼ÏÂËùÓÐÎļþµÄʾÀý½Å±¾£º !/bin/bash for filein ; do if¡¾ -f $file¡¿; then echo ÆÕͨÎļþ£º$file elif¡¾ -d $file¡¿; then echo Ŀ¼£º$file else echo ÆäËûÀàÐÍÎļþ£º$file fi done Õâ¸ö½Å±¾»á±éÀúµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþºÍĿ¼£¬²¢¸ù¾ÝÀàÐÍÊä³öÏàÓ¦µÄÐÅÏ¢
Èý¡¢IFÓëÑ»·µÄ½áºÏ£ºÊµÏÖ¸´ÔÓÂß¼ ÔÚʵ¼ÊÓ¦ÓÃÖУ¬IFÓï¾äºÍÑ»·½á¹¹¾³£ÐèÒª½áºÏÆðÀ´Ê¹Óã¬ÒÔʵÏÖ¸ü¸´ÔÓµÄÂß¼¿ØÖÆ
3.1 ʾÀý£º±éÀúĿ¼²¢Í³¼ÆÎļþ´óС ÒÔÏÂÊÇÒ»¸öʾÀý½Å±¾£¬ÓÃÓÚ±éÀúÖ¸¶¨Ä¿Â¼¼°Æä×ÓĿ¼ÖеÄËùÓÐÎļþ£¬²¢Í³¼ÆÎļþµÄ×Ü´óС£º !/bin/bash directory=$1 total_size=0 find $directory -t