ºìÁªLinuxÃÅ»§
Linux°ïÖú

shell»ù´¡

·¢²¼Ê±¼ä:2006-08-13 03:48:35À´Ô´:ºìÁª×÷Õß:love601
Shell±äÁ¿ÃûʹÓõÄÌØÊâ×Ö·û
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡$# ´«Ë͸øÃüÁîShellµÄ²ÎÊýÐòºÅ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡$- ÔÚShellÆô¶¯»òʹÓÃsetÃüÁîʱÌṩѡÏî
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡$? ÉÏÒ»ÌõÃüÁîÖ´Ðк󷵻صÄÖµ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡$$ µ±Ç°shellµÄ½ø³ÌºÅ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡$! ÉÏÒ»¸ö×Ó½ø³ÌµÄ½ø³ÌºÅ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡$@ ËùÓеIJÎÊý£¬Ã¿¸ö¶¼ÓÃË«À¨ºÅÀ¨Æð
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡$* ËùÓвÎÊý£¬ÓÃË«À¨ºÅÀ¨Æð
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡$n λÖòÎÊýÖµ£¬n±íʾλÖÃ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ µ±Ç°shellÃû


echo "$HOME $PATH"
¡¡½á¹ûÏÔʾ$/u/ice_walk/bin:/etc:/usr/bin
¡¡¶ø
echo '$HOME $PATH' ½á¹ûÏÔʾ$HOME $PATH
shellµÄÌÓÒÝ·ûÊÇÒ»¸ö"\",±íʾÆäºóµÄ×Ö·û²»¾ßÓÐÌØÊâµÄº¬Òå»ò²»ÊÇshellµÄº¯Êý
¡¡echo $HOME $PATH
¡¡½á¹ûÏÔ$$HOME /bin:/etc:/usr/bin:

¿ÉÒÔÓñäÁ¿ºÍÆäËû×Ö·û×é³ÉеÄ×Ö£¬ÀýÈç:
¡¡¡¡¡¡¡¡SUN=sun
¡¡¡¡¡¡¡¡echo $day
sunday


Óû§Ò²¿ÉÒÔÔÚÃüÁîÐÐÉÏͬʱ¶Ô¶à¸ö±äÁ¿¸³Öµ£¬¸³ÖµÓï¾äÖ®¼äÓÿոñ·Ö¿ª:
¡¡¡¡¡¡¡¡X=x Y=y
¡¡¡¡¡¡¡¡×¢Òâ±äÁ¿¸³ÖµÊÇ´ÓÓÒµ½×ó½øÐеÄ


}}}

exprÃüÁ°ÑÒ»¸öËãÊõ±í´ïʽ×÷Ϊ²ÎÊý£¬Í¨³£ÐÎʽÈçÏÂ:
¡¡¡¡¡¡¡¡expr [Êý×Ö] [²Ù×÷·û] [Êý×Ö]
¡¡¡¡ÓÉÓÚShellÊÇ°´×Ö·ûÐÎʽ´æ´¢±äÁ¿µÄ£¬ËùÒÔÓû§±ØÐë±£Ö¤²Î¼ÓËãÊõÔËËãµÄ²Ù×÷Êý±ØÐëΪÊýÖµ¡£ÏÂÃæÊÇÓÐЧµÄËãÊõ²Ù×÷·û:
¡¡¡¡¡¡¡¡+¡¡¡¡¡¡Á½¸öÕûÊýÏà¼Ó
¡¡¡¡¡¡¡¡-¡¡¡¡¡¡µÚÒ»¸öÊý¼õÈ¥µÚ¶þ¸öÊý
¡¡¡¡¡¡¡¡*¡¡¡¡¡¡Á½ÕûÊýÏà³Ë
¡¡¡¡¡¡¡¡/¡¡¡¡¡¡µÚÒ»¸öÕûÊý³ýÒÔµÚ¶þ¸öÕûÊý
¡¡¡¡¡¡¡¡%¡¡¡¡¡¡Á½ÕûÊýÏà³ý£¬È¡ÓàÊý


Óû§²»Äܵ¥´¿Ê¹ÓÃ"*"×ö³Ë·¨,ÈôÊäÈë:
¡¡¡¡¡¡¡¡$expr 4*5
¡¡¡¡ÏµÍ³½«»á±¨´í£¬ÒòΪShell¿´µ½"*"½«»áÊ×ÏȽøÐÐÎļþÃûÌæ»»¡£ÕýÈ·ÐÎʽΪ:
¡¡¡¡¡¡¡¡$expr 4 \* 5
¡¡ ¡¡¡¡ ½á¹ûÏÔʾ:20


{{{{shellÑùÀý ×¢Ò⣺}}}}


#!/bin/bash
flag=1
top=10000
date >>/backup1/time.txt
while [ $flag -lt $top ] -ltÊÇСÓÚ ×¢Òâ ÐèÒªÓÃ[ ]£¬ÇÒ×¢Òâ [ºó ºÍ]ºó£¬¶¼Óпոñ
do
cd /backup1/check
dd if=/dev/zero of=test_$flag.txt bs=1024 count=2000000
rm -f test_$flag.txt
flag=`expr $flag + 1` ×¢Òâ ×ó±ß ÐèÒªÓÃflag¶ø²»ÊÇ$flag±íʾ ¸ø±äÁ¿Öµ£¬Ìرð×¢ÒâÊÇ=ºÅ£¬Ç°ºó ²»ÄÜÓпոñ£¬¶øÇÒ expr $flag + 1 ÐèÒªÓÃÖ´Ðзû``°üÀ¨
done



}}}}}

echoÃüÁî¿ÉÒÔʹÓÃһЩÌØÊâµÄÌÓÒÝ×Ö·û½øÐиñʽ»¯Êä³ö£¬ÏÂÃæÊÇÕâЩ×Ö·û¼°Æ京Òå:
¡¡¡¡¡¡¡¡\b¡¡¡¡Backspace
¡¡¡¡¡¡¡¡\c¡¡¡¡ÏÔʾºó²»»»ÐÐ
¡¡¡¡¡¡¡¡\f¡¡¡¡ÔÚÖÕ¶ËÉÏÆÁÄ»µÄ¿ªÊ¼´¦ÏÔʾ
¡¡¡¡¡¡¡¡\n¡¡¡¡»»ÐÐ
¡¡¡¡¡¡¡¡\r¡¡¡¡»Ø³µ
¡¡¡¡¡¡¡¡\t¡¡¡¡ÖƱí·û
¡¡¡¡¡¡¡¡\v¡¡¡¡´¹Ö±ÖƱí·û
¡¡¡¡¡¡¡¡\¡¡¡¡ ·´Ð±¿ò
¡¡¡¡¡¡¡¡nnn ÓÃ1,2»ò3λ8½øÖÆÕûÊý±íʾһ¸öASCIIÂë×Ö·û


echo -en $"\t\tPress 'I' to enter interactive startup."
-e±íʾ ÔÊÐí\ÓÐеÄÒâÒå
-n±íʾ ²»»»ÐÐ Èç¹û ºÍ ¡°¡±ÄڵIJÎÊý ÓгåÍ»£¬ÒÔ¡°¡±ÄÚΪ׼



}}
²âÊÔ×Ö·û´®¼äµÄ¹Øϵ


Óйش®µÄ²Ù×÷·ûÈçÏÂ:
¡¡¡¡¡¡¡¡str1 = str2¡¡¡¡¡¡¡¡¡¡¡¡µ±Á½¸ö´®ÓÐÏàͬÄÚÈÝ¡¢³¤¶ÈʱΪÕæ
¡¡¡¡¡¡¡¡str1 != str2¡¡¡¡¡¡¡¡¡¡ µ±´®str1ºÍstr2²»µÈʱΪÕæ
¡¡¡¡¡¡¡¡-n str1¡¡¡¡¡¡¡¡¡¡¡¡¡¡ µ±´®µÄ³¤¶È´óÓÚ0ʱΪÕæ(´®·Ç¿Õ)
¡¡¡¡¡¡¡¡-z str1¡¡¡¡¡¡¡¡¡¡¡¡¡¡ µ±´®µÄ³¤¶ÈΪ0ʱΪÕæ(¿Õ´®)
¡¡¡¡¡¡¡¡str1¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ µ±´®str1Ϊ·Ç¿ÕʱΪÕæ


if [ -z "$IN_INITLOG" ]; ×Ö·ûʹÓÃʱ ÓÃ""



ÓйØÎļþµÄ²âÊÔ
¡¡¡¡Ê¹ÓÃtest½øÐеĵÚÈýÀà²âÊÔÊDzâÊÔÎļþµÄ״̬£¬Óû§¿ÉÒÔ²âÊÔÎļþÊÇ·ñ´æÔÚ£¬ÊÇ·ñ¿ÉдÒÔ¼°ÆäËûÎļþÊôÐÔ¡£ÏÂÃæÊÇÎļþ²âÊÔʱʹÓõÄÑ¡Ïî¡£×¢ÒâÖ»ÓÐÎļþ´æÔÚʱ£¬²ÅÓпÉÄÜΪÕæ¡£
¡¡¡¡-r file¡¡¡¡¡¡¡¡¡¡Óû§¿É¶ÁΪÕæ
¡¡¡¡-w file¡¡¡¡¡¡¡¡¡¡Óû§¿ÉдΪÕæ
¡¡¡¡-x file¡¡¡¡¡¡¡¡¡¡Óû§¿ÉÖ´ÐÐΪÕæ
¡¡¡¡-f file¡¡¡¡¡¡¡¡¡¡ÎļþΪÕý¹æÎļþΪÕæ
¡¡¡¡-d file¡¡¡¡¡¡¡¡¡¡ÎļþΪĿ¼ΪÕæ
¡¡¡¡-c file¡¡¡¡¡¡¡¡¡¡ÎļþΪ×Ö·ûÌØÊâÎļþΪÕæ
¡¡¡¡-b file¡¡¡¡¡¡¡¡¡¡ÎļþΪ¿éÌØÊâÎļþΪÕæ
¡¡¡¡-s file¡¡¡¡¡¡¡¡¡¡Îļþ´óС·Ç0ʱΪÕæ
¡¡¡¡-t file¡¡¡¡¡¡¡¡¡¡µ±ÎļþÃèÊö·û(ĬÈÏΪ1)Ö¸¶¨µÄÉ豸ΪÖÕ¶ËʱΪÕæ
¸´ÔÓµÄÌõ¼þ²âÊÔ(and ¡¢or ¡¢not)
¡¡¡¡-a ¡¡ ¡¡¡¡¡¡¡¡¡¡ Óë
¡¡¡¡-o¡¡¡¡¡¡¡¡¡¡¡¡¡¡ »ò
¡¡¡¡!¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·Ç
¡¡¡¡¾ÍÊÇ×éºÏÌõ¼þÁË£¬Èκθ߼¶ÓïÑÔÖж¼ÓеÄ(NOT ¡¢AND ¡¢OR)£¬ÀýÈç:
¡¡¡¡¡¡¡¡$test -r em.null -a -s em.null
¡¡¡¡¡¡¡¡$echo $?
¡¡¡¡¡¡¡¡½á¹ûÏÔʾ:1
¡¡¡¡¡¡¡¡ËµÃ÷ÁËem.null²¢²»ÊǿɶÁ²¢ÇÒ·Ç¿ÕµÄÎļþ
²âÊÔÁ½¸öÕûÊýÖ®¼ä¹Øϵ
¡¡¡¡testÃüÁîÓëexprÃüÁîÒ»Ñù£¬Ò²¿ÉÒÔ°Ñ×Ö·ûת±ä³ÉÕûÊý£¬È»ºó¶ÔÆä²Ù×÷¡£testÃüÁî¶ÔÁ½¸öÊý½øÐбȽϣ¬Ê¹ÓõIJÙ×÷·ûÈçÏÂ:
¡¡¡¡¡¡¡¡int1 -eq int2¡¡¡¡¡¡¡¡Á½ÊýÏàµÈΪÕæ equal (eq)
¡¡¡¡¡¡¡¡int1 -ne int2¡¡¡¡¡¡¡¡Á½Êý²»µÈΪÕæ not equal (ne)
¡¡¡¡¡¡¡¡int1 -gt int2¡¡¡¡¡¡¡¡int1´óÓÚint2ΪÕæ great (gt)
¡¡¡¡¡¡¡¡int1 -ge int2¡¡¡¡¡¡¡¡int1´óÓÚµÈÓÚint2ΪÕæ great equal (ge)
¡¡¡¡¡¡¡¡int1 -lt int2¡¡¡¡¡¡¡¡int1СÓÚint2ΪÕæ less than (lt)
¡¡¡¡¡¡¡¡int1 -le int2¡¡¡¡¡¡¡¡int1СÓÚµÈÓÚint2ΪÕæ less than equal (le)



±¾½×¶Î С³ÌÐò£º


ʹÓÃwhileÑ­»·Ê¹³ÌÐòÖ´ÐÐÒ»´Î¿ÉÒÔ±¸·Ý¶à¸öÓû§Ö¸¶¨µÄĿ¼¡£´úÂëÈçÏ£º
echo "»¶Ó­Ê¹Óñ¸·ÝС³ÌÐò"
¡¡¡¡ANS=Y
¡¡¡¡while [ $ANS = Y -o $ANS = y ]
¡¡¡¡do
¡¡¡¡¡¡¡¡echo _
¡¡¡¡¡¡¡¡#¶ÁĿ¼Ãû
¡¡¡¡¡¡¡¡echo "ÊäÈëÒª±¸·ÝµÄĿ¼Ãû£º\c"
¡¡¡¡¡¡¡¡read DIR
¡¡¡¡¡¡¡¡if [ ! -d $DIR ]
¡¡¡¡¡¡¡¡then
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡echo "$DIR²»ÊÇÒ»¸öĿ¼!"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡exit 1
¡¡¡¡¡¡¡¡fi
¡¡¡¡¡¡¡¡cd $DIR
¡¡¡¡¡¡¡¡echo "ÇëÑ¡Ôñ:"
¡¡¡¡¡¡¡¡echo _
¡¡¡¡¡¡¡¡echo "1 »Ö¸´Êý¾Ýµ½ $DIR"
¡¡¡¡¡¡¡¡echo "2 ±¸·Ý$DIRµÄÊý¾Ý"
¡¡¡¡¡¡¡¡echo
¡¡¡¡¡¡¡¡echo "ÇëÑ¡Ôñ:\c"
¡¡¡¡¡¡¡¡read CHOICE
¡¡¡¡¡¡¡¡case "$CHOICE" in
¡¡¡¡¡¡¡¡¡¡¡¡¡¡1) echo "»Ö¸´ÖС­ ¡­"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cpio -i ¡¡¡¡¡¡¡¡¡¡¡¡¡¡2) echo "±¸·ÝÖС­ ¡­"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cpio -o >/dev/rmt0;;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡*) echo "Ñ¡ÔñÎÞЧ"
¡¡¡¡¡¡¡¡esac
¡¡¡¡¡¡¡¡if [ $? -ne 0 ]
¡¡¡¡¡¡¡¡then
¡¡¡¡¡¡¡¡¡¡¡¡¡¡echo "cpioÖ´Ðйý³ÌÖгöÏÖÎÊÌâ"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡exit 2
¡¡¡¡¡¡¡¡fi
¡¡¡¡¡¡¡¡echo "¼ÌÐø±ðµÄĿ¼Âð£¿(Y/y)\c"
¡¡¡¡¡¡¡¡read ANS
¡¡¡¡done



2¡£
if [ $# -eq 0 ]
then
echo "Usage:x_shift2.sh ²ÎÊý"
exit 1
fi
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. qxfsy ÓÚ 2014-01-05 00:19:27·¢±í:

    ºÜÓÐÓ𡣡