linux getoptsÃüÁîÏê½â
ÓÃ;
´¦ÀíÃüÁîÐвÎÊý£¬²¢Ð£ÑéÓÐЧѡÏî¡£
Óï·¨
getopts
Ñ¡Ïî×Ö·û´®
Ãû³Æ
[
²ÎÊý
...]
ÃèÊö
getopts ÃüÁîÊÇ Korn/POSIX shell µÄÄÚÖÃÃüÁÓÃÀ´´Ó²ÎÊýÁбí¼ìË÷Ñ¡ÏîÒÔ¼°Ñ¡Ïî²ÎÊý¡£Ñ¡ÏîÓÉÒ»¸ö £¨¼ÓºÅ£©»òÕßÊÇÓÉÒ»¸ö-£¨¼õºÅ£©ºó¸úÒ»¸ö×Ö·û¿ªÊ¼¡£Ò»¸ö¼È²»ÊÇÒÔ £¬Ò²²»ÊÇÒÔ-¿ªÊ¼µÄÑ¡Ïî½áÊøÑ¡Ïî×Ö·û´®¡£Ã¿´Îµ÷Óà getopts ÃüÁîʱ,Ëü½«ÏÂÒ»¸öÑ¡ÏîµÄÖµ·ÅÖÃÔÚÃû³Æ ÄÚ£¬²¢½«ÏÂÒ»¸öÒª´¦ÀíµÄ²ÎÊýµÄË÷ÒýÖÃÓÚ shell ±äÁ¿ OPTIND ÖС£Ò»µ©µ÷ÓÃÁË shell , OPTIND ½«³õʼ»¯Îª1¡£µ±Ñ¡ÏîÒÔ ¿ªÍ·,Ôò ½«Ô¤ÏÈÉèΪÃû³ÆÖеÄÖµ¡£
Èç¹ûÑ¡Ïî×Ö·û´®ÖеÄ×Ö·ûºóÃæ´øÓГ:”£¨Ã°ºÅ£©£¬ÔòÔ¤ÆÚ´ËÑ¡Ï´øÓвÎÊý¡£µ±Ñ¡ÏîÐèҪѡÏî²ÎÊýʱ£¬getopts ÃüÁî¾Í½«ÆäÖÃÓÚ±äÁ¿ OPTARG ÖС£
µ±²éÕÒµ½ Ñ¡Ïî×Ö·û´®Ëù²»°üº¬µÄÑ¡Ïî×Ö·û£¬»òÕß²éÕÒµ½µÄÑ¡ÏîûÓÐËùÐèµÄÑ¡Ïî²ÎÊýʱ£º
Èç¹ûÑ¡Ïî×Ö·û´®²»ÒÔ:£¨Ã°ºÅ£©¿ªÍ·£¬
Ãû³Æ ½«»á±»ÉèÖÃΪ ?£¨Îʺţ©×Ö·û,
OPTARG. ½«±»È¡ÏûÉèÖ㬲¢ÇÒ
Õï¶ÏÏûÏ¢½«±»Ð´Èëµ½±ê×¼´íÎóÖС£
ÕâÖÖÇé¿ö±»ÈÏΪÊÇÔÚ½«²ÎÊý´«µÝ¸øËùµ÷ÓõÄÓ¦ÓóÌÐòµÄ¹ý³ÌÖÐËù¼ì²âµ½µÄ´íÎ󣬶ø²»ÊÇÔÚ´¦Àí getopts ÃüÁîµÄ¹ý³ÌÖÐËù·¢ÉúµÄ´íÎó£»ÈçÉÏËùÊö£¬Ð´ÈëÕï¶ÏÏûÏ¢£¬µ«Í˳ö״̬½«±äΪÁã¡£
Èç¹ûÑ¡Ïî×Ö·û´®ÒÔ :£¨Ã°ºÅ£©¿ªÍ·£¬
Ãû³Æ ½«±»ÉèΪ ? £¨Îʺţ©×Ö·û£¬ÕâÊǶÔδ֪µÄÑ¡ÏîÀ´ËµµÄ£¬»òÕßΪȱÉÙµÄËùÐèÑ¡ÏîÉèΪ:£¨Ã°ºÅ£©×Ö·û£¬
OPTARG ½«±»ÉèÖÃΪÒѲéÕÒµ½µÄÑ¡Ïî×Ö·û£¬²¢ÇÒ
±ê×¼´íÎóÖн«²»Ð´ÈëÈκÎÊä³ö¡£
ÒÔÏÂÈκÎ×Ö·û¶¼¿ÉÒÔʶ±ðÑ¡Ïî½áβ£ºÌØÊâÑ¡Ïî- -,²éÕÒµ½²»ÒÔ-,»òÕß Îª¿ªÍ·µÄ²ÎÊý,»òÕßÓöµ½´íÎó¡£
µ±Óöµ½Ñ¡Ïî½áβʱ£º
getopts ÃüÁÍ˳öÔËÐÐ,²¢ÇÒ·µ»ØÖµ´óÓÚÁ㣬
OPTARG ½«±»ÉèÖÃΪµÚÒ»¸ö·ÇÑ¡Ïî²ÎÊýË÷Òý£¬ÔÚÕâÖÖÇé¿öÏ£¬Èç¹ûµÚÒ»¸ö - - ²ÎÊý֮ǰδ³öÏÖÆäËü·ÇÑ¡Ïî²ÎÊý£¬½«ÈÏΪËüÊÇÑ¡Ïî²ÎÊý£¬»òÕßÈç¹ûûÓзÇÑ¡Ïî²ÎÊý£¬ÉèÖÃΪֵ $# 1£¬
Ãû³Æ½«±»ÉèÖÃΪ? £¨Îʺţ©×Ö·û£¬
²ÎÊý
Ñ¡Ïî×Ö·û´®
°üº¬ getopts ÃüÁîʶ±ðµÄÑ¡Ïî×Ö·û´®¡£Èç¹û×Ö·ûºó´øÓÐðºÅ£¬ÔòÔ¤ÆÚÑ¡Ï´øÓвÎÊý£¬Ó¦¸ÃÒÔµ¥¶À²ÎÊýµÄÐÎʽÌṩ´Ë²ÎÊý¡£¿ÉÒÔÓÿոñ½«Ñ¡ÏîÓë²ÎÊý·Ö¸ô¿ª¡£Èç¹ûÑ¡Ïî×Ö·ûÊÇδ֪µÄ»òÕßÑ¡Ïî²ÎÊý¶ªÊ§£¬ÔòÑ¡Ïî×Ö·û´®ÖеĵÚÒ»¸ö×Ö·û½«¾ö¶¨ getopts ÃüÁîµÄÐÐΪ¡£
×¢Ò⣺ӦÓóÌÐò²»Ó¦¸Ã½«ÎʺźÍðºÅ×Ö·û×÷ΪѡÏî×Ö·û¡£Ê¹ÓÃÆäËü·Ç×ÖĸÊý×ÖµÄ×Ö·û»á²úÉú²»Ã÷µÄ½á¹û¡£
Ãû³Æ
ÓÉ getopts ÃüÁî¶Ô²éÕÒµ½µÄÑ¡Ïî×Ö·ûÉèÖá£
²ÎÊý ...
Ò»¸ö»ò¶à¸ö±»¿Õ¸ñ·Ö¸ôµÄ×Ö·û´®£¬ÓÉ getopts ÃüÁîУÑéÊÇ·ñ
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
1. ǰÑÔ
ÒÔ̫ͷÖгýÁË6×Ö½ÚÄ¿µÄMACµØÖ·¡¢6×Ö½ÚÔ´MACµØÖ·Í⣬»¹ÓÐÁ½×Ö½ÚµÄÒÔ̫֡ÀàÐÍÖµ£¬ÈçIPv4Ϊ0x0800£¬ARPΪ0x0806µÈ£¬Íø¿¨Çý¶¯ÊÕµ½ÒÔ̫֡ºóͨ¹ý½Ó¿Úº¯Êýnetif_receive_skb()(netif_rxʵ¼Ê×îºóÒ²Êǵ÷ÓÃnetif_receive_skb)½»µ½Éϲ㣬¶øÕâ¸ö½Ó¿Úº¯Êý¾ÍÍê³É¶ÔÒÔ̫֡ÀàÐ͵ÄÇø·Ö£¬½»µ½²»Í¬µÄÐÒé´¦Àí³ÌÐò¡£Èç¹ûÏë×Ô¼º±àдijһ ......
Óû§Ä£Ê½Linux (User Mode Linux), ËõдΪUML¡£¹ËÃû˼Ò壬UML¾ÍÊÇÔÚÒ»¸ö¿ÉÒÔÔÚÓû§¿Õ¼äÔËÐеÄlinuxÄںˡ£
UMLÄܹ»ÎªkernelÐéÄâһЩʵ¼ÊµÄÎïÀíÉ豸£¬Æô¶¯UMLÖ»ÐèÒªÒªÖ¸¶¨Ò»¸örootÎļþϵͳµÄimageÎļþ¡£UMLʵ¼ÊÉÏÒ²ÊÇÒ»ÖÖÐéÄ⻯¼¼Êõ¡£
UMLµÄºÃ´¦
µÚÒ»£¬×öÒ»¸öÐéÄâ·þÎñÆ÷£¬UML¿ÉÒÔÒÔ°²È«µÄ·½Ê½ÔËÐÐÔÚÓû§¿Õ¼ä£¬Ëü¿É ......
×î½üÔÚ寫Driver時£¬³£³£Óöµ½ÐèÒª¡¸µÈ´ýÒ»¶Î時間¡¹ÔÙ處ÀíµÄ動×÷£¬ÒÔÍùÎÒ¶¼ÉµÉµµÄÓÃmsleep()»òmdelay()£¬Êâ²»Öª這種busy waiting會holdסcpu資Ô´£¬ÔÚ這¶ÎÆÚ間內¶¼無·¨讓給ÆäËûprocess執ÐУ¬時間¶Ì(10msÒ ......