linux ÖнâÎöÃüÁîÐвÎÊý £¨getopt_longÓ÷¨)
ÎÒÃÇÔÚlinuxÏÂÃæµÄ³ÌÐò¿ª·¢£¬ºÜ¶àʱºò¶¼»áÓöµ½ÃüÁîÐд¦Àí£¬ÃüÁîÐвÎÊý´¦ÀíÕâÑùÒ»ÖÖ¿ØÖÆÌ¨³ÌÐò£¬ËüÄܹ»ºÜÃ÷Á˵ĸøÓû§³ÌÐò³ö³ÌÐòµÄʹÓ÷½·¨£¬Ò²Äܹ»Ê¹ÎÒÃǵijÌÐò¿ª·¢µÄÁ÷³Ì±äµÃ¸ü¼ÓÃ÷ÁË¡£ÏÂÃæÎÒÃǾÍÒ»ÆðÀ´ÌÖÂÛһϣ¬ÎÒÃÇÆ½Ê±ÈçºÎ´¦ÀíÕâÖÖÃüÁîµÄÊäÈë²ÎÊý£¬ÆäʵÕâ¸ö¾Í¸úreadlineµÄ´¦Àí²î²»¶à£¬ÎÒÃÇÈç¹ûÕÆÎÕÁËÕâÖÖ¹ÌÓеÄģʽ£¬ÄÇÄãÒÔºóÿ¸ö³ÌÐòÓÐÕâ·½ÃæµÄÐèÇ󶼿ÉÒÔÖ±½ÓÌ×ÓÃÁË£¬´ó´óÌá¸ßÁËÎÒÃǵĿª·¢Ð§ÂÊ¡£
Ò».ģʽ¿ò¼Ü½²½â
±¾ÏëÍêÕûµÄдһƪÎÄÕ£¬µ«·¢ÏÖÒ»ÊÇmanÊֲὲ½âÌ«ÏêϸÁË£¬»¹ÓкÜÏêϸµÄʵÀý£¬ÔÙ¾ÍÊǸù¾Ýman·Òë¹ýÀ´µÄ¸çÃÇÎÄÕÂÌ«¶à£¬¹ÊÕⲿ·ÖÄÚÈÝÎÒÒ²¾ÍÖ±½Ó×ªÔØÁËÒ»Î»ÍøÓѵIJ¿·Ö·Ò룬±¾²¿·ÖÄÚÈÝ×ªÔØ×Ô£ºhttp://blog.csdn.net/ast_224/archive/2009/02/04/3861625.aspx
getopt_longÖ§³Ö³¤Ñ¡ÏîµÄÃüÁîÐнâÎö£¬Ê¹ÓÃman getopt_long£¬µÃµ½ÆäÉùÃ÷ÈçÏ£º
#include <getopt.h>
int getopt_long(int argc, char * const argv[],
const char *optstring,
const struct option *longopts, int *longindex);
int getopt_long_only(int argc, char * const argv[],
const char *optstring,
const struct option *longopts, int *longindex);
˵Ã÷£ºº¯ÊýÖеÄargcºÍargvͨ³£Ö±½Ó´Ómain()µ½Á½¸ö²ÎÊý´«µÝ¶øÀ´¡£optstingÊÇÑ¡Ïî²ÎÊý×é³ÉµÄ×Ö·û´®£¬Èç
¹û¸Ã×Ö·û´®ÀïÈÎÒ»×ÖĸºóÓÐðºÅ£¬ÄÇôÕâ¸öÑ¡Ïî¾ÍÒªÇóÓвÎÊý¡£ÏÂÒ»¸ö²ÎÊýÊÇÖ¸ÏòÊý×éµÄÖ¸Õ룬Õâ¸öÊý×éÊÇ
option½á¹¹Êý×飬option½á¹¹³ÆÎª³¤Ñ¡Ïî±í£¬ÆäÉùÃ÷ÈçÏ£º
struct option {
const char *name;
int has_arg;
int *flag;
int val;
};
½á¹¹ÖеÄÔªËØ½âÊÍÈçÏ£º
const char *name£ºÑ¡ÏîÃû£¬Ç°ÃæÃ»Óж̺áÏß¡£Æ©Èç"help"¡¢"verbose"Ö®Àà¡£
int has_arg£ºÃèÊö³¤Ñ¡ÏîÊÇ·ñÓÐÑ¡Ïî²ÎÊý£¬Èç¹ûÓУ¬ÊÇÄÄÖÖÀàÐ͵IJÎÊý£¬ÆäÖµ¼ûϱí:
·ûºÅ³£Á¿ &n
Ïà¹ØÎĵµ£º
ÏñʹÓÃWindowsʱÄÇôֱ¹Û¡£ÆäʵÔÚLinuxϰ²×°ºÍÐ¶ÔØÈí¼þÒ²·Ç³£¼òµ¥£¬Í¬ÑùÒ²Óа²×°Ïò
µ¼»ò½âѹ°²×°µÄ·½Ê½£¬²»ÏàͬµÄÖ»²»¹ýÊdzýÁ˶þ½øÖÆÐÎʽµÄÈí¼þ·Ö·¢Í⣬»¹ÓÐÐíÐí¶à¶àÒÔ
Ô´´úÂëÐÎʽ·Ö·¢µÄÈí¼þ°ü£¬ÏÂÃæ¾ÍÀ´ÏêϸµØ½²Ò»½²ÕâЩÈí¼þµÄ°²×°ÓëÐ¶ÔØ£º Ò»¡¢¶þ½øÖÆ·Ö·¢Èí¼þ°üµÄ°²×°ÓëÐ¶ÔØ
LinuxÈí¼þµÄ¶þ½øÖÆ ......
´ó¼Ò¶¼ÖªµÀÔÚUnix/LinuxÖÐÓиömanÃüÁ¿ÉÒÔ²éѯ³£ÓõÄÃüÁº¯Êý¡£¿ÉÊǶÔÓÚÎÒÃÇÕâÑùÖ»ÖªµÀÓÃ"man º¯ÊýÃû"À´²éѯµÄÈËÀ´Ëµ£¬»áÓöµ½ºÜ¶àÎÊÌ⣬±ÈÈ磺
man read£¬ÎÒÏë¿´µÄÊÇANSI CÖÐstdioµÄreadº¯ÊýÔÐͺÍ˵Ã÷£¬Ã»Ïëµ½³öÀ´µÄÈ·ÊÇBASHÃüÁîµÄ˵Ã÷£¬ÕâÊÇÔõô»ØÊ ......
Checking kernel parameters
Checking for semmsl=250; found semmsl=250. Passed
Checking for semmns=32000; found semmns=32000. Passed
Checking for semopm=100; found semopm=32. Failed <<<<
Checking for semmni=128; found semmni=128.&nb ......
×î½üÐéÄâ»ú×°Á˸öRedHat Enterprise Server 5£¬ÓùßÁËUbuntu£¬¾õµÃ²»Ì«ÊÊÓ¦¡£
µ±ÔÚÖÕ¶ËÖ´ÐÐsudoÃüÁîʱ£¬ÏµÍ³Ìáʾ“cuser is not in the sudoers file”£º
$ sudo ls
Password:
cuser is not in the sudoers file. This incident will be reported.
Æäʵ¾ÍÊÇûÓÐȨÏÞ½øÐÐsudo£¬½â¾ö·½·¨ÈçÏ£¨ÕâÀï¼ÙÉèÓ ......