linux trap
trap [-lp] [arg] [sigspec ...]
µ± shell ÊÕµ½ÐźŠsigspec ʱ£¬ÃüÁî arg ½«±»¶ÁÈ¡²¢Ö´ÐС£Èç¹ûûÓиø³ö arg »òÕ߸ø³öµÄÊÇ -,
ËùÓÐÖ¸¶¨µÄÐźű»ÉèÖÃΪËüÃǵijõʼֵ (½øÈë shell ʱËüÃǵÄÖµ)¡£Èç¹û arg ÊÇ¿Õ×Ö·û´®£¬ sigspec Ö¸¶¨µÄÐźű»
shell ºÍËüÆô¶¯µÄÃüÁîºöÂÔ¡£Èç¹û arg ²»´æÔÚ£¬²¢ÇÒ¸ø³öÁË -p ÄÇôÓëÿ¸ö sigspec
Ïà¹ØÁªµÄÏÝÚåÃüÁ±»ÏÔʾ³öÀ´¡£Èç¹ûûÓиø³öÈκβÎÊý£¬»òÖ»¸ø³öÁË -p£¬ trap ½«´òÓ¡³öÓëÿ¸öÐźűàºÅÏà¹ØµÄÃüÁîÁбí▒ ÿ¸ö
sigspec ¿ÉÒÔÊÇ ¶¨ÒåµÄÐźÅÃû£¬»òÊÇÒ»¸öÐźűàºÅ¡£ Èç¹û sigspec ÊÇ EXIT (0)£¬ÃüÁî
arg ½«ÔÚ shell Í˳öʱִÐС£Èç¹û sigspec ÊÇ DEBUG, ÃüÁî arg ½«ÔÚÿ¸ö¼òµ¥ÃüÁî (simple
command£¬²Î¼ûÉÏÃæµÄ SHELL GRAMMAR) Ö®ºóÖ´ÐС£Èç¹û sigspec ÊÇ ERR, ÃüÁî arg
½«ÔÚÈκÎÃüÁîÒÔ·ÇÁãÖµÍ˳öʱִÐС£Èç¹ûʧ°ÜµÄÃüÁîÊÇ until »ò while Ñ»·µÄÒ»²¿·Ö£¬ if Óï¾äµÄÒ»²¿·Ö£¬ && »ò
⎪⎪ ÐòÁеÄÒ»²¿·Ö£¬»òÕßÃüÁîµÄ·µ»ØÖµÊÇͨ¹ý ! ת»¯¶øÀ´£¬ ERR ÏÝÚ彫²»»áÖ´ÐС£Ñ¡Ïî -l ʹµÃ shell
´òÓ¡ÐźÅÃûºÍ¶ÔÓ¦±àºÅµÄÁÐ±í¡£ shell ºöÂÔµÄÐźŲ»Äܱ»²¶×½»òÖØÖá£ÔÚ×Ó½ø³ÌÖУ¬±»²¶×½µÄÐźÅÔÚ½ø³Ì´´½¨Ê±±»ÖØÖÃΪ
³õʼֵ¡£
·µ»ØÖµÎª¼Ù£¬Èç¹û sigspec ·Ç·¨£»·ñÔò trap ·µ»ØÕæ¡£
Ïà¹ØÎĵµ£º
umask()º¯Êý£º´Ëº¯ÊýµÄÖ÷Òª×÷ÓÃÊÇÔÚ´´½¨ÎļþʱÉèÖûòÕ߯Á±ÎµôÎļþµÄһЩȨÏÞ¡£Ò»°ãÓëopen()º¯ÊýÅäºÏʹÓá£openº¯ÊýÔÐÍ£º
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open( const char * pathname, int flags);
int open( const char ......
LinuxϵͳÏ£¬ÐèÒª´óÁ¿µÄÃüÁîÐÐÑ¡ÏÈç¹û×Ô¼ºÊÖ¶¯½âÎöËûÃǵĻ°ÊµÔÚÊÇÓÐÎ¥Èí¼þ¸´ÓõÄ˼Ï룬²»¹ý»¹ºÃ£¬GNU C libraryÁô¸øÎÒÃÇÒ»¸ö½âÎöÃüÁîÐеĽӿÚ(X/Open¹æ·¶)£¬ºÃºÃʹÓÃËü¿ÉÒÔʹÄãµÄ³ÌÐò¸Ä¹Û²»ÉÙ¡£
ʹÓÃgetopt_long()ÐèÒªÒýÈëÍ·Îļþ
#include <getopt.h>
ÏÖÔÚÎÒÃÇʹÓÃÒ»¸öÀý×ÓÀ´ËµÃ÷Ëü ......
¶¯Ì¬¿âµÄÏÔʽµ÷ÓÃ
ÏÔʽµ÷Óõĺ¬ÒåÊÇ´úÂë³öÏÖ¿âÎļþÃû£¬Óû§ÐèÒª×Ô¼ºÈ¥
´ò¿ªºÍ¹ÜÀí¿âÎļþ¡£ÆäÒªµãΪ:
¢Å°Ñdlfcn.hϵͳͷÎļþ°üº¬½øÀ´
¢ÆÓÃdlopenº¯Êý´ò¿ª¿âÎļþ£¬²¢Ö¸¶¨´ò¿ª·½Ê½
dllopeµÄµÄµÚÒ»¸ö²ÎÊýΪ¹²Ïí¿âµÄÃû³Æ£¬½«»áÔÚÏÂÃæÎ»ÖòéÕÒÖ¸¶¨µÄ¹²Ïí¿â¡£
¢Ù»·¾³±äÁ¿LD_LIBRARY_PATHÁгöµÄÓ÷ֺżä¸ôµ ......
ͳ¼ÆÄ³Îļþ¼ÐÏÂÎļþµÄ¸öÊý
ls -l |grep "^-"|wc -l
ͳ¼ÆÄ³Îļþ¼ÐÏÂĿ¼µÄ¸öÊý
ls -l |grep "^£ä"|wc -l
ͳ¼ÆÎļþ¼ÐÏÂÎļþµÄ¸öÊý£¬°üÀ¨×ÓÎļþ¼ÐÀïµÄ¡£
ls -lR|grep "^-"|wc -l
ͳ¼ÆÎļþ¼ÐÏÂĿ¼µÄ¸öÊý£¬°üÀ¨×ÓÎļþ¼ÐÀïµÄ¡£
ls -lR|grep "^d"|wc - ......