Linux Bash Shellѧϰ£¨Ê®ËÄ£©£ºÃüÁîÐÐÑ¡Ïî
¡¡¡¡±¾ÎÄÒ²¼´¡¶Learning the bash Shell¡·3rd EditionµÄµÚÁùÕÂCommand-Line Options and Typed varilablesÖ®¶ÁÊé±Ê¼ÇÖ®Ò»£¬µ«ÎÒÃǽ«²»ÏÞÓÚ´Ë¡£
¡¡¡¡ÔÚLinuxÃüÁîÖо³£´øÓвÎÊýÀýÈç[-option]µÈµÈ¡£ÔÚÃüÁîÐÐÖпÉÄÜÓÐ0¸ö»òÕß¶à¸öÕâЩѡÏî¡£ÎÒÃÇÔÚ֮ǰѧϰÁËλÖòÎÊý£¬°üÀ¨$1£¬$2£¬$3…£¬$*£¬$#£¬²Î¼ûLinux Bash Shellѧϰ£¨Æß£©£ºshell±à³Ì»ù´¡——ÔËÐÐShell½Å±¾¡¢function
¡£ÕâЩλÖòÎÊý¶¼ÊÇÖ»¶Á¡£
ÒÆÎ»Shift
¡¡¡¡shiftÌṩ¶ÔÖ»¶ÁµÄλÖòÎÊýµÄÒÆÎ»¸³ÖµµÄ²Ù×÷£¬½«1=$2£¬2=$3£¬…£¬¿ÉÒÔʹÓÃshift NÀ´Öƶ¨ÒÆÎ»µÄÊýÄ¿£¬ÀýÈçshift 3£¬Ôò±íʾ1=$4£¬2=$5£¬…¡£Èç¹ûÃüÁîÐÐÖÐÓÐ[-options]µÄ£¬ÎÒÃÇ¿ÉÒÔ¶ÔËûÃǽøÐÐÅжϣ¬²¢½øÐÐÒÆÎ»´¦Àí¡£Ò»¸ö¼òµ¥Àý×ÓÈçÏ£º
if [ $1 = -o ]; then
[process the -o option]
shift
fi
[normal processing of arguments...]
¡¡¡¡ÏÂÃæ¸øÁ½¸öÀý×Ó£¬½éÉÜÈçºÎÓÃshiftÀ´¼ì²é²ÎÊý¡£
#Àý×ÓÒ»£ºÓпÉÄÜÓÐ-NµÄ²ÎÊý£¬ÇÒΪµÚÒ»²ÎÊý¡£Èç¹ûµÚÒ»¸ö²ÎÊýÊÇ-N£¬¼Ç¼ÔÚhowmanyÖУ¬½øÐÐshift£¬½«$2ÖÃÓÚ$1µÄλÖã¬Èç¹ûµÚÒ»¸ö²ÎÊýÊÇ-X£¬µ«X²»ÊÇÊý×Ö£¬¸ø³ö¾¯¸æÓï¾ä£¬·ñÔòhowmanyʹÓÃȱʡµÄ-10¡£
function test1
{
#¶ÔÓÚgrep£¬^±íʾ´ÓÆ¥ÅäÐÐÊ×£¬$±íʾƥÅäÐÐ⣬ÔÚÕâÀï±íʾÕû¸ö$1Æ¥Å䣬¶ø²»ÊDz¿·ÖÆ¥Å䣬*±íÊ¾Ç°ÃæµÄ×Ö·ûÆ¥Åä0¸ö»òÕß¶à¸ö£¬ÏÂÃæ[0-9]*¼´±íʾºóÃæ¸ú×Å0¸ö»òÕß¶à¸öÊý×Ö£¬[0-9][0-9]*±íʾÊý×ÖºóÃæÓÐ0¸ö»ò¶à¸öÊý×Ö¡£¹Êecho $1 | grep '^-[0-9][0-9]*$'±íʾƥÅä¸ñʽ-N£¬NΪÊý×Ö¡£grepµÄ¾ßÌåÓ÷¨¿´²Î¼ûhttp://www.yesadmin.com/301/135287/index.html
#$(command)±íʾÃüÁîÖ´ÐеÄÄÚÈÝ¡£
#-n str£¬×Ö·û´®²»Îªnull£¬³¤¶È´óÓÚÁã
#Çë×¢ÒâË«ÒýºÅµÄʹÓ㬱íʾÕâÊÇÒ»¸öÐèÒª¼ì²éµÄstr
if [ -n "$(echo $1 | grep '^-[0-9][0-9]*$')"
]; then
howmany=$1
shift
elif [ -n "$(echo $1 | grep '^-')" ]; then
&nbs
Ïà¹ØÎĵµ£º
»ùÓÚǶÈëʽLinuxµÄSOHO·ÓÉÆ÷Éè¼Æ
¡¡¡¡ÕªÒª£ºÕë¶ÔĿǰSOHO·ÓÉÆ÷Éè¼Æ·½°¸ÄÑÒÔÂú×ã¸ßËÙ½ÓÈëÍøÓû§ÒªÇóºÍ´æÔÚϵͳÎȶ¨ÐÔ·½ÃæµÄ²»×ã,ÒÔǶÈëʽLinux²Ù×÷ϵͳΪ»ù´¡,Ìá³öÒ»ÖÖÐ嵀 SOHO(Small Office and Home Office)·ÓÉÆ÷Éè¼Æ·½°¸,ÓÐЧµØÌá¸ßÁËϵͳµÄÎȶ¨ÐԺͰ²È«ÐÔ¡£
¹ã¸æ²å²¥ÐÅÏ¢
ά¿â×îÐÂÈÈÂôоƬ£º KA7806 FDC3 ......
1¡¢½«Grub°²×°µ½uÅÌ(ͨ³£ÐèÒªÔÚLinuxÖнøÐÐ)
ÔÚUbuntu9.10Öа²×°grub2ÈçÏ£º
sudo grub-install --root-directory=/media/sdb1 /dev/sdb
##×¢½â£ºÉÏÊöÃüÁîÖеÄ·¾¶Ãû¿ÉÄܻ᲻ͬ£¨/media/sdb1ÖÐsdb1ÊÇuÅ̹ÒÔØºóµÄÎļþÃû£¬ÊÓ¸÷È˵ľßÌåÇé¿ö¶ø¶¨£©
2¡¢´ÓÍøÉÏÏÂÔØÁ½¸öÎļþvmlinuzºÍinitrd.gz
##Äã»á·¢ÏÖÆäʵÔÚÄãËù ......
linuxĿ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
/boot/grub/menu.lst GRUBÉèÖÃ
/boot/vmlinuz ÄÚºË
&nbs ......
linux½ø³Ì¿ØÖÆ£execϵÁР˵ÊÇexecϵͳµ÷Óã¬Êµ¼ÊÉÏÔÚLinuxÖУ¬²¢²»´æÔÚÒ»¸öexec()µÄº¯ÊýÐÎʽ£¬execÖ¸µÄÊÇÒ»×麯Êý£¬Ò»¹²ÓÐ6¸ö£¬·Ö±ðÊÇ£º #include <unistd.h>
int execl(const char *path, const char *arg, ...);
int execlp(const char *file, const char *arg, ...);
int execle(const char *path, const char ......
ÊÇqqȺÀïÈËÎʵģ¬ÎÒ¾Í˳±ãдһÏÂÁË¡£
shell±à³Ì£ºÐ´ÃüÁîkilltty,ÕÒ³öϵͳÖÐËùÓÐÔËÐÐÔÚÖ¸¶¨tty£¨Èç/dev/tty01£©ÉϵĽø³Ì£¬²¢È«²¿É±ËÀ
#!/bin/bash
ps -ef | grep tty | grep -v "grep tty" | awk '{print $2}' |sed '/PID/d' > ttyfile
while read LINE
do
kill -9 $LINE
done < ttyfile
²»¹ýttyÊ ......