shell ±à³ÌÖÐʹÓõ½µÃifÓï¾äÄÚÅжϲÎÊý
¡¡¡¡[-b file] µ±file´æÔÚ²¢ÇÒÊÇ¿éÎļþʱ·µ»ØÕæ
¡¡¡¡-c µ±file´æÔÚ²¢ÇÒÊÇ×Ö·ûÎļþʱ·µ»ØÕæ
¡¡¡¡-d µ±pathname´æÔÚ²¢ÇÒÊÇÒ»¸öĿ¼ʱ·µ»ØÕæ
#ÕâÀïµÄ-d ²ÎÊýÅжÏ$myPathÊÇ·ñ´æÔÚ
if [ ! -d "$myPath"]; then
mkdir "$myPath"
fi
¡¡¡¡-e µ±pathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚʱ·µ»ØÕæ
¡¡¡¡-f µ±file´æÔÚ²¢ÇÒÊÇÕý¹æÎļþʱ·µ»ØÕæ
#ÕâÀïµÄ-f²ÎÊýÅжÏ$myFileÊÇ·ñ´æÔÚ
if [ ! -f "$myFile" ]; then
touch "$myFile"
fi
¡¡¡¡-g µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇÒÉèÖÃÁËSGIDλʱ·µ»ØÎªÕæ
¡¡¡¡-h µ±file´æÔÚ²¢ÇÒÊÇ·ûºÅÁ´½ÓÎļþʱ·µ»ØÕ棬¸ÃÑ¡ÏîÔÚһЩÀÏϵͳÉÏÎÞЧ
¡¡¡¡-k µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇÒÉèÖÃÁË¡°Õ³ÖÍ¡±Î»Ê±·µ»ØÕæ
¡¡¡¡-p µ±file´æÔÚ²¢ÇÒÊÇÃüÁî¹ÜµÀʱ·µ»ØÎªÕæ
¡¡¡¡-r µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇҿɶÁʱ·µ»ØÎªÕæ
¡¡¡¡-s µ±file´æÔÚÎļþ´óС´óÓÚ0ʱ·µ»ØÕæ
¡¡¡¡-u µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇÒÉèÖÃÁËSUIDλʱ·µ»ØÕæ
¡¡¡¡-w µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇÒ¿ÉÖ´ÐÐʱ·µ»ØÕæ¡£Ò»¸öĿ¼ΪÁËËüµÄÄÚÈݱ»·ÃÎʱØÈ»ÊÇ¿ÉÖ´Ðеġ£
¡¡¡¡-o µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇÒ±»×Óµ±Ç°½ø³ÌµÄÓÐЧÓû§IDËùÖ¸¶¨µÄÓû§ÓµÓÐʱ·µ»ØÕæ¡£
¡¡¡¡UNIX Shell ÀïÃæ±È½Ï×Ö·ûд·¨£º
¡¡¡¡-eq µÈÓÚ
¡¡¡¡-ne ²»µÈÓÚ
¡¡¡¡-gt ´óÓÚ
¡¡¡¡-lt СÓÚ
¡¡¡¡-le СÓÚµÈÓÚ
¡¡¡¡-ge ´óÓÚµÈÓÚ
¡¡¡¡-z ¿Õ´®
¡¡¡¡= Á½¸ö×Ö·ûÏàµÈ
¡¡¡¡!= Á½¸ö×Ö·û²»µÈ
¡¡¡¡-n ·Ç¿Õ´®
¡¡¡¡-------------------------------------------------------------------------
¡¡¡¡¸üΪÏêϸµÄ˵Ã÷£º
¡¡¡¡ÔËËã·û ÃèÊö ʾÀý
¡¡¡¡Îļþ±È½ÏÔËËã·û
¡¡¡¡-e filename Èç¹û filename ´æÔÚ£¬ÔòÎªÕæ [ -e /var/log/syslog ]
¡¡¡¡-d filename Èç¹û filename ΪĿ¼£¬ÔòÎªÕæ [ -d /tmp/mydir ]
¡¡¡¡-f filename Èç¹û filename Ϊ³£¹æÎļþ£¬ÔòÎªÕæ [ -f /usr/bin/grep ]
¡¡¡¡-L filename Èç¹û filename Ϊ·ûºÅÁ´½Ó£¬ÔòÎªÕæ [ -L /usr/bin/grep ]
¡¡¡¡-r filename Èç¹û filename ¿É¶Á£¬ÔòÎªÕæ [ -r /var/log/syslog ]
¡¡¡¡-w filename Èç¹û filename ¿Éд£¬ÔòÎªÕæ [ -w /var/mytmp.txt ]
¡¡¡¡-x filename Èç¹û filename ¿ÉÖ´ÐУ¬ÔòÎªÕæ [ -L /usr/bin/grep ]
¡¡¡¡filename1 -nt filename2 Èç¹û filename1 ±È filename2 У¬ÔòÎªÕæ [ /tmp/install/etc/services -nt /etc/services ]
¡¡¡¡filename1 -ot filename2 Èç¹û filename1 ±È filename2 ¾É£¬ÔòÎªÕæ [ /boot/bzImage -ot arch/i386/boot/bzImage ]
¡¡¡¡×Ö·û´®±È½ÏÔËËã·û £¨Çë×¢ÒâÒýºÅµÄʹÓã¬ÕâÊÇ·ÀÖ¹¿Õ¸ñÈÅÂÒ´úÂëµÄºÃ·½·¨£©
-z string Èç¹û string ³¤¶ÈΪÁ㣬ÔòÎªÕæ [ -z $myvar ]
¡¡¡¡-n string Èç¹û string ³¤¶È·ÇÁ㣬ÔòÎªÕæ [ -n $myvar ]
¡¡¡¡string1 = string2 Èç¹û string1 Óë string2 Ïàͬ£¬ÔòÎªÕæ [ $myvar = one two three ]
¡¡¡¡string1 != string2 Èç¹û string1 Óë string2 ²»Í¬£¬ÔòÎªÕæ [ $myvar != one two three ]
¡¡¡¡ËãÊõ±È½ÏÔËËã·û
¡¡¡¡num1 -eq num2 µÈÓÚ [ 3 -eq $mynum ]
¡¡¡¡num1 -ne num2 ²»µÈÓÚ [ 3 -ne $mynum ]
¡¡¡¡num1 -lt num2 СÓÚ [ 3 -lt $mynum ]
¡¡¡¡num1 -le num2 СÓÚ»òµÈÓÚ [ 3 -le $mynum ]
¡¡¡¡num1 -gt num2 ´óÓÚ [ 3 -gt $mynum ]
¡¡¡¡num1 -ge num2 ´óÓÚ»òµÈÓÚ [ 3 -ge $mynum ]
¡¡¡¡½Å±¾Ê¾Àý£º
¡¡¡¡#!/bin/bash
¡¡¡¡# This script prints a message about your weight if you give it your
¡¡¡¡# weight in kilos and hight in centimeters.
¡¡¡¡if [ ! $# == 2 ]; then
¡¡¡¡echo "Usage: $0 weight_in_kilos length_in_centimeters"
¡¡¡¡exit
¡¡¡¡fi
¡¡¡¡weight="$1"
¡¡¡¡height="$2"
¡¡¡¡idealweight=$[$height - 110]
¡¡¡¡if [ $weight -le $idealweight ] ; then
¡¡¡¡echo "You should eat a bit more fat."
¡¡¡¡else
¡¡¡¡echo "You should eat a bit more fruit."
¡¡¡¡fi
¡¡¡¡# weight.sh 70 150
¡¡¡¡You should eat a bit more fruit.
¡¡¡¡# weight.sh 70 150 33
¡¡¡¡Usage: ./weight.sh weight_in_kilos length_in_centimeters
¡¡¡¡Î»ÖòÎÊý $1£¬ $2,..., $N£¬$#´ú±íÁËÃüÁîÐеIJÎÊýÊýÁ¿£¬ $0´ú±íÁ˽ű¾µÄÃû×Ö£¬
¡¡¡¡µÚÒ»¸ö²ÎÊý´ú±í$1£¬µÚ¶þ¸ö²ÎÊý´ú±í$2£¬ÒÔ´ËÀàÍÆ£¬²ÎÊýÊýÁ¿µÄ×ÜÊý´æÔÚ$#ÖУ¬ÉÏÃæµÄÀý×ÓÏÔʾÁËÔõô¸Ä±ä½Å±¾£¬Èç¹û²ÎÊýÉÙÓÚ»òÕß¶àÓà2¸öÀ´´òÓ¡³öÒ»ÌõÏûÏ¢¡£
¡¡¡¡Ö´ÐУ¬²¢²é¿´Çé¿ö¡£
¡¡¡¡# bash -x tijian.sh 60 170
¡¡¡¡+ weight=60
¡¡¡¡+ height=170
¡¡¡¡+ idealweight=60
¡¡¡¡+ '[' 60 -le 60 ']'
¡¡¡¡+ echo 'You should eat a bit more fat.'
¡¡¡¡You should eat a bit more fat.
¡¡¡¡ÆäÖÐ-xÓÃÀ´¼ì²é½Å±¾µÄÖ´ÐÐÇé¿ö¡£
×÷Õߣºrscpass