¡¡¡¡½éÉÜ¡°fortune¡±
¡¡¡¡ÄúµÄ shell Óкܶà¿ÉÉèÖÃΪÊʺÏÄúµÄ¸öÈ˰®ºÃµÄÓÐÓõÄÑ¡Ïî¡£µ«ÊÇ£¬µ½Ä¿Ç°ÎªÖ¹£¬³ýÁËÿ´ÎÖØÐÂÊäÈëÒÔÍ⣬ÎÒÃÇ»¹Ã»ÓÐÌÖÂÛµ½Ã¿´ÎÄúµÇ¼ʱ£¬×Ô¶¯ÉèÖÃÕâЩÉèÖõÄÈκη½·¨¡£ÔÚ±¾ÕÂÖУ¬ÎÒÃǽ«¿´Ò»¿´Í¨¹ýÐÞ¸ÄÆô¶¯ÎļþÀ´µ÷½ÚÄúµÄµÇ¼»·¾³¡£
¡¡¡¡Ê×ÏÈ£¬µ±Äú³õ´ÎµÇ¼ʱ£¬ÎÒÃÇÀ´Ìí¼ÓÒ»ÌõÓѺõÄÏûÏ¢¡£Òª¿´Ê¾ÀýÏûÏ¢£¬ÔËÐÐ fortune£º
[code]$ fortune
No amount of careful planning will ever replace dumb luck.[/code]
À÷ìÇ ÓÚ 2006-10-02 20:02:46·¢±í:
¡¡¡¡Ê¹Óá°env¡±
¡¡¡¡²»ÐÒµÄÊÇ£¬Èç¹ûÄúÍü¼Ç½« PAGER ÉèÖÃ»Ø less£¬man£¨ÏñÆäËüÃüÁîÒ»Ñù£©½«¼ÌÐøÃ»ÓÐÍ£¶ÙµØÏÔʾËùÓеÄÎı¾¡£Èç¹ûÄú½öÒ»´ÎÏ뽫 PAGER ÉèΪ cat£¬Äú¿ÉÒÔʹÓà env ÃüÁ
[code]$ PAGER=less
$ env PAGER=cat man man
$ echo $PAGER
less[/code]
¡¡¡¡ÕâÒ»´Î£¬PAGER ֵΪ cat£¬±»µ¼³öµ½ man£¬µ«ÔÚ bash »á»°ÖУ¬PAGER ±äÁ¿±¾ÉíÈÔȻδ¸Ä±ä¡£
À÷ìÇ ÓÚ 2006-10-02 20:02:18·¢±í:
¡¡¡¡µ¼³öÒԸıäÃüÁîÐÐΪ
¡¡¡¡Í¨³££¬¿ÉÒÔͨ¹ýÉèÖû·¾³±äÁ¿À´¸Ä±äÃüÁîµÄÐÐΪ¡£ÕýºÍÐ嵀 bash »á»°Ò»Ñù£¬´ÓÄúµÄ bash Ìáʾ·ûÆô¶¯µÄÆäËü³ÌÐò½«Ö»ÄÜ¿´¼û±ê¼ÇΪµ¼³öµÄ±äÁ¿¡£ÀýÈ磬ÃüÁî man ¼ì²é±äÁ¿ PAGER£¬¿´Ò»¿´ÓÃʲô³ÌÐòÀ´Ã¿´ÎÒ»Ò³µØ±éÀúÎı¾¡£
[code]$ PAGER=less
$ export PAGER
$ man man[/code]
¡¡¡¡½« PAGER ÉèÖÃΪ less£¬Äú½«Ã¿´Î¿´µ½Ò»Ò³£¬°´¿Õ¸ñ¼üÒÆµ½ÏÂÒ»Ò³¡£Èç¹ûÄú½« PAGER ¸ÄΪ cat£¬½«Á¢¿ÌÏÔʾËùÓеÄÎı¾£¬Ã»ÓÐÍ£¶Ù¡£
[code]$ PAGER=cat
$ man man[/code]
À÷ìÇ ÓÚ 2006-10-02 20:01:41·¢±í:
¡¡¡¡È¡ÏûÉèÖÃÓë FOO= µÄ±È½Ï
¡¡¡¡ÕâÓ뽫±äÁ¿ÉèÖÃΪʲôҲ²»Éè²»Ïàͬ£¬ËäÈ»ÓÐʱºÜÄÑÇø±ð¡£Ò»ÖÖÇø±ðµÄ·½·¨ÊÇʹÓò»´ø²ÎÊýµÄÄÚÖÃµÄ set À´ÁгöËùÓе±Ç°±äÁ¿£º
[code]$ FOO=bar
$ set | grep ^FOO
FOO=bar
$ FOO=
$ set | grep ^FOO
FOO=
$ unset FOO
$ set | grep ^FOO[/code]
¡¡¡¡³ýÁË set ÁгöËùÓбäÁ¿¶ø²»½ö½öÊÇÄÇЩ±ê¼ÇΪҪµ¼³öµÄ±äÁ¿Í⣬ÏñÕâÑù²»´ø²ÎÊýʹÓà set ÓëʹÓÃÄÚÖÃµÄ export ÀàËÆ¡£
À÷ìÇ ÓÚ 2006-10-02 20:00:48·¢±í:
¡¡¡¡Óá°set¡±ÉèÖñäÁ¿
¡¡¡¡ÄÚÖÃµÄ set »¹¿ÉÒÔÓÃÀ´ÉèÖñäÁ¿£¬µ«ÕâÑùʹÓÃʱ£¬ËüÊÇ¿ÉÑ¡µÄ¡£bash ÃüÁî set FOO=foo ±íʾµÄÒâ˼ÕýºÃºÍ FOO=foo Ïàͬ¡£È¡ÏûÉèÖñäÁ¿ÓÃÄÚÖÃµÄ unset À´Íê³É£º
[code]$ FOO=bar
$ echo $FOO
bar
$ unset FOO
$ echo $FOO[/code]
À÷ìÇ ÓÚ 2006-10-02 20:00:11·¢±í:
¡¡¡¡µ¼³öºÍÉèÖà -x
¡¡¡¡ÓÉÓÚÕâÖÖÐÐΪ£¬¿ÉÒÔÔÚ ~/.bash_profile »ò /etc/profile ÖÐÉèÖñäÁ¿ºÍ±ê¼ÇΪµ¼³ö£¬È»ºóÔÙÒ²²»ÐèÒªÖØÐÂÉèÖᣵ«ÊÇ£¬ÓÐһЩ²»Äܵ¼³öµÄÑ¡ÏÒò´ËΪÁËÉèÖõÃÒ»Ö£¬±ØÐ뽫ËüÃÇ·ÅÔÚÄúµÄ ~/.bashrc ºÍ »·¾³ÅäÖÃÎļþÖС£ÕâЩѡÏîÓÃÄÚÖÃµÄ set À´µ÷Õû£º
[code]$ set -x[/code]
-x Ñ¡Ïîʹ bash ´òÓ¡³öËüÒªÔËÐеÄÿ¸öÃüÁ
[code]$ echo $FOO
+ echo foo
foo[/code]
¡¡¡¡Õâ¶ÔÓÚÀí½âûÓÐÔ¤Áϵ½µÄÒýÓÃÐÐΪ»òÀàËÆµÄĪÃûÆäÃîµÄÏÖÏó·Ç³£ÓÐÓá£Òª¹Ø±Õ -x Ñ¡ÏÉèÖà set +x¡£Çë²ÎÔÄ bash ÊÖ²áÒ³À´»ñÈ¡ÄÚÖÃµÄ set µÄËùÓÐÑ¡ÏîµÄÐÅÏ¢¡£
À÷ìÇ ÓÚ 2006-10-02 19:59:31·¢±í:
¡¡¡¡±ê¼ÇÒªµ¼³öµÄ±äÁ¿
¡¡¡¡Èç¹û±äÁ¿Ã»Óбê¼ÇΪµ¼³ö£¬ÈκÎËüÆô¶¯µÄÐ嵀 shell ½«²»»áÉèÖøñäÁ¿¡£µ«ÊÇ£¬Äú¿ÉÒÔͨ¹ý½«±äÁ¿´«¸øÄÚÖÃµÄ export À´½«Æä±ê¼ÇΪµ¼³ö£º
[code]$ FOO=foo
$ BAR=bar
$ export BAR
$ echo $FOO $BAR
foo bar
$ bash
$ echo $FOO $BAR
bar[/code]
¡¡¡¡ÔÚ±¾Ê¾ÀýÖУ¬Ò»ÆðÉèÖÃÁ˱äÁ¿ FOO ºÍ BAR£¬µ«ÊÇÖ»ÓÐ BAR ±»±ê¼ÇΪµ¼³ö¡£µ±Æô¶¯ÁËÐ嵀 bash£¬Ëü¶ªµô FOO µÄÖµ¡£Èç¹ûÄúÍ˳öÕâ¸öÐ嵀 bash£¬Äú¿ÉÒÔ¿´µ½×î³õµÄ bash ÈÔÈ»ÓÐ FOO ºÍ BAR µÄÖµ£º
[code]$ exit
$ echo $FOO $BAR
foo bar[/code]
À÷ìÇ ÓÚ 2006-10-02 19:58:46·¢±í:
¡¡¡¡export
¡¡¡¡¿ÉÒÔ¸ø bash ÖеıäÁ¿×÷Éϱê¼Ç£¬Ê¹ËüÃÇÔÚÈκΠbash Æô¶¯µÄÐ嵀 shell ÖÐÉèÖÃÏàͬ£»Õâ±»³ÆÎª×öÉϱê¼ÇÒԱ㵼³ö¡£ÔÚÄúµÄ shell »á»°ÖУ¬Äú¿ÉÒÔÁгö bash ËùÓеĵ±Ç°±ê¼ÇΪҪµ¼³öµÄ±äÁ¿£º
[code]$ export
declare -x EDITOR="vim"
declare -x HOME="/home/chouser"
declare -x MAIL="/var/spool/mail/chouser"
declare -x PAGER="/usr/bin/less"
declare -x PATH="/bin:/usr/bin:/usr/local/bin:/home/chouser/bin"
declare -x PWD="/home/chouser"
declare -x TERM="xterm"
declare -x USER="chouser"[/code]
À÷ìÇ ÓÚ 2006-10-02 19:58:16·¢±í:
¡¡¡¡/etc/profile ºÍ /etc/skel
¡¡¡¡×÷Ϊϵͳ¹ÜÀíÔ±£¬ÄúÕÆ¹Ü×Å /etc/profile¡£ÒòΪµ±³õ´ÎµÇ¼ʱ£¬Ã¿¸öÈ˶¼ source Ëü£¬ËùÒÔʹËü±£³Ö¹¤×÷״̬ºÜÖØÒª¡£ËüÒ²ÊÇÌṩ¸øÐÂÓû§µÄÇ¿´ó¹¤¾ß£¬¸Ã¹¤¾ßʹÐÂÓû§Ò»µÇ¼½øËûÃǵÄÐÂÕÊ»§£¬Ò»ÇоÍÕýÈ·ÔËÐС£
¡¡¡¡µ«ÊÇ£¬ÓÐһЩÄú¿ÉÄÜÏ£ÍûÐÂÓû§×÷ΪȱʡֵµÄÉèÖ㬶øÇÒÔÊÐíÈÝÒ×µØÐÞ¸ÄËüÃÇ¡£ÕâÊÇ /etc/skel Ŀ¼µÄÓÃ;ËùÔÚ¡£µ±ÄúÓà useradd ÃüÁîÀ´´´½¨Ò»¸öÐÂÓû§ÕÊ»§Ê±£¬Ëü½«ËùÓеÄÎļþ´Ó /etc/skel ¸´ÖƵ½Óû§µÄеÄÖ÷Ŀ¼ÖС£ÕâÒâζ×ÅÄú¿ÉÒÔ½«ÓаïÖúµÄ .bash_profile ºÍ .bashrc Îļþ·ÅÔÚ /etc/skel ÖУ¬Ê¹ÐÂÓû§ÓÐÒ»¸öºÃµÄ¿ªÊ¼¡£
À÷ìÇ ÓÚ 2006-10-02 19:57:45·¢±í:
¡¡¡¡½»»¥ÐÔ²âÊÔ
¡¡¡¡ÓÐʱ bash source ÄúµÄ ~/.bashrc£¬¼´Ê¹Ëü²»ÊÇÕæÕýµÄ½»»¥Ê½ shell£¬±ÈÈ統ʹÓÃÏñ rsh ºÍ scp ÕâÑùµÄÃüÁîʱ¡£½«ÕâЩÀμÇÔÚÐĺÜÖØÒª£¬ÒòΪÏñÇ°ÃæÎÒÃÇÓà fortune ÃüÁîËù×öµÄÒ»Ñù£¬´òÓ¡³öÎı¾¿ÉÄÜÕæµÄ»á´òÂÒÕâЩ·Ç½»»¥Ê½µÄ bash »á»°¡£ÔÚ´ÓÆô¶¯Îļþ´òÓ¡³öÎı¾Ö®Ç°£¬Ê¹Óà PS1 ±äÁ¿À´¼ì²âµ±Ç°µÄ shell ÊÇ·ñÊǽ»»¥Ê½ shell ÊÇÒ»¸öºÃ°ì·¨£º
[code]if [ -n "$PS1" ]; then
fortune
fi[/code]
À÷ìÇ ÓÚ 2006-10-02 19:57:17·¢±í:
¡¡¡¡Àí½â --login
¡¡¡¡¸æËß bash ×÷Ϊ¡°µÇ¼¡±shell ÔËÐеĵڶþÖÖ·½·¨ÊÇÓà --login ÃüÁîÐÐÑ¡Ïî¡£ÖÕ¶Ë·ÂÕæÆ÷£¨Èç xterm£©ÓÐʱʹÓÃÕâ¸öÑ¡ÏîÀ´Ê¹ËüÃÇµÄ bash »á»°±íÏÖµÃÏñ³õʼµÇ¼»á»°¡£
¡¡¡¡µ±ÄúµÇ¼ÒԺ󣬽«ÔËÐÐ shell µÄ¸ü¶à¸±±¾¡£³ý·ÇËüÃÇÒÔ --login Æô¶¯»ò½ø³ÌÃûÖÐÓж̻®Ïߣ¬·ñÔòÕâЩ»á»°½«²»ÊÇ¡°µÇ¼¡±shell¡£µ«ÊÇ£¬Èç¹ûËüÃǸø³öÌáʾ·û£¬ÄÇôËüÃǽС°½»»¥Ê½¡±shell¡£Èç¹û bash ×÷Ϊ¡°½»»¥Ê½¡±shell Æô¶¯£¬¶ø²»ÊÇ×÷Ϊ¡°µÇ¼¡±shell Æô¶¯£¬Ëü½«ºöÂÔ /etc/profile ºÍ ~/.bash_profile£¬¶ø½« source ~/.bashrc¡£
[code]interactive login profile rc
yes yes source ignore
yes no ignore source
no yes source ignore
no no ignore ignore[/code]
À÷ìÇ ÓÚ 2006-10-02 19:56:45·¢±í:
¡¡¡¡µÇ¼ shell
¡¡¡¡µ± bash Æô¶¯£¬Ëü½«±éÀúÄúÖ÷Ŀ¼ÖÐµÄ .bash_profile Îļþ£¬¾ÍÏóÔÚ bash Ìáʾ·ûÏÂÊäÈëÃüÁîÒ»ÑùÔËÐÐÿһÐС£Õâ½Ð×ö¡°source¡±Îļþ¡£
¡¡¡¡¸ù¾Ý bash Æô¶¯µÄ·½Ê½£¬bash µÄ¶¯×÷ÓÐЩ²»Í¬¡£Èç¹ûËü×÷Ϊ¡°µÇ¼¡±shell ±»Æô¶¯£¬Ëü½«ÏñÉÏÃæÄÇÑù¶¯×÷ -- Ê×ÏÈ source ϵͳ·¶Î§µÄ /etc/profile£¬È»ºóÊÇÄú¸öÈ赀 ~/.bash_profile¡£
¡¡¡¡¸æËß bash ×÷ΪµÇ¼ shell ÔËÐÐÓÐÁ½ÖÖ·½Ê½¡£Ò»ÖÖ·½Ê½Êǵ±Äú³õ´ÎµÇ¼ʱʹÓà -- bash ÓÉÒ»¸öÃûΪ -bash µÄ½ø³ÌÆô¶¯¡£Äú¿ÉÒÔÔÚÄúµÄ½ø³ÌÇåµ¥Öп´µ½ÕâЩ£º
[code]£º$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
chouser 404 0.0 0.0 2508 156 tty2 S 2001 0:00 -bash[/code]
¡¡¡¡ÄúºÜ¿ÉÄÜ¿´µ½³¤µÃ¶àµÄÇåµ¥£¬µ«ÊÇÔÚÄúµÄ shell Ãû֮ǰ£¬ÖÁÉÙÓÐÒ»¸ö´øÓж̻®ÏßµÄ COMMAND£¬ÈçÉÏÃæÊ¾ÀýÖÐµÄ -bash¡£shell ÓÃÕâ¸ö¶Ì»®ÏßÀ´È·¶¨ËüÊÇ·ñÕý×÷Ϊ¡°µÇ¼¡±shell ÔËÐС£
À÷ìÇ ÓÚ 2006-10-02 19:56:04·¢±í:
¡¡¡¡.bash_profile
¡¡¡¡ÏÖÔÚ£¬ÎÒÃÇÀ´ÉèÖà fortune£¬Ê¹Ã¿´ÎÄúµÇ¼ʱ£¬ËüÄÜÔËÐС£Ê¹ÓÃÄúϲ»¶µÄÎı¾±à¼Æ÷À´±à¼ÄúµÄÖ÷Ŀ¼ÖÐÃûΪ .bash_profile µÄÎļþ¡£Èç¹û¸ÃÎļþ»¹²»´æÔÚ£¬Ôò½Ó×Å´´½¨Ëü¡£ÔÚ¶¥²¿²åÈëÒ»ÐУº
[code]fortune[/code]
¡¡¡¡ÊÔ×Å×¢Ïú£¬È»ºóÔÙ»ØÀ´¡£³ý·ÇÄúÕýÔÚÔËÐÐÒ»¸öÏñ xdm¡¢gdm »ò kdm ÕâÑùµÄÏÔʾ¹ÜÀíÆ÷£¬·ñÔòµ±ÄúµÇ¼ʱ£¬ÄúÓ¦¸Ã»áºÜÓä¿ìµØ¿´µ½£º
[code]mycroft.flatmonk.org login: chouser
Password:
Freedom from incrustations of grime is contiguous to rectitude.
$[/code]