LinuxÒÁµéÔ°ÂÛ̳'s Archiver

dearvoid ·¢±íÓÚ 2007-9-1 21:56

[ÌÖÂÛ] shell script ÖÐÈçºÎÅÐ¶Ï stdout ÊDz»ÊÇÖÕ¶Ë£¿

C ÖÐÓиöº¯Êý isatty() ¿ÉÒÔÅжÏÒ»¸ö file descriptor ÊDz»ÊÇÖÕ¶ËÀàÐ͵ÄÉ豸 (terminal type device), ²»ÏþµÃÔÚ shell ÖÐÈçºÎ´ïµ½Í¬ÑùµÄÄ¿µÄ?

[[i] ±¾Ìû×îºóÓÉ dearvoid ÓÚ 2007-9-1 22:00 ±à¼­ [/i]]

li-jiahuan ·¢±íÓÚ 2007-9-1 23:28

ÊÇ·ñ¿ÉÒÔÕâÑù£¿
[code]
$ ls -l /proc/self/fd/[12]
lrwx------ 1 huan huan 64 2007-09-01 23:24 /proc/self/fd/1 -> /dev/pts/1
lrwx------ 1 huan huan 64 2007-09-01 23:24 /proc/self/fd/2 -> /dev/pts/1
[/code]
ÔÚ¿ØÖÆÌ¨Ï¿ÉÄÜÊÇÖ¸Ïòtty

dearvoid ·¢±íÓÚ 2007-9-2 10:55

ÕâÑùÓ¦¸Ã¿ÉÒԵ쬲»¹ý²»¹»Í¨Ó㬱ÈÈç°³µÄ mac os x ÉÏûÓÐ /proc ϵͳ

li-jiahuan ·¢±íÓÚ 2007-9-2 17:55

/dev/Óв»£¿
[code]
$ ls -l /dev/fd/[012]
lrwx------ 1 huan huan 64 2007-09-02 17:50 /dev/fd/0 -> /dev/pts/1
lrwx------ 1 huan huan 64 2007-09-02 17:50 /dev/fd/1 -> /dev/pts/1
lrwx------ 1 huan huan 64 2007-09-02 17:50 /dev/fd/2 -> /dev/pts/1
[/code]

ÁíÍâÔÚman bashÖпÉÒÔÕÒµ½ÕâÐÐ
[quote]
-t fd  True if file descriptor fd is open and refers to a terminal.
[/quote]

dearvoid ·¢±íÓÚ 2007-9-2 21:45

/dev »¹ÊÇÓеģº
[quote][font=Courier][color=black][/color][color=blue]-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[6300 0][/color] [color=red]; uname -a
[/color][color=black]Darwin Tiger.local 8.10.0 Darwin Kernel Version 8.10.0: Wed May 23 16:50:59 PDT 2007; root:xnu-792.21.3~1/RELEASE_PPC Power Macintosh powerpc
[/color][color=blue]-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[6300 0][/color] [color=red]; ls -l /dev/fd
[/color][color=black]total 1
crw--w----    1 clark  tty      4,   7 Sep  2 21:43 0
crw--w----    1 clark  tty      4,   7 Sep  2 21:43 1
crw--w----    1 clark  tty      4,   7 Sep  2 21:43 2
drw-r--r--   52 clark  clark      1768 Sep  2 21:40 3
dr--r--r--    2 root   wheel       512 Aug  4 20:03 4
[/color][color=blue]-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[6300 0][/color] [color=red]; bye
[/color][color=black][/color][/font][/quote]
-t fd Õâ¸öÌ« cooool ÁË£¬°³´ÓÀ´¶¼Ã»ÓÐ×¢Òâµ½Õâ¸öÓ÷¨ÄØ

[[i] ±¾Ìû×îºóÓÉ dearvoid ÓÚ 2007-9-2 21:47 ±à¼­ [/i]]

li-jiahuan ·¢±íÓÚ 2007-9-2 22:19

Ô­ÏÈҲûÓùý
µ«ÔÚPerlÖп´¼û¹ýÀàËÆµÄ£¨ -t)

[[i] ±¾Ìû×îºóÓÉ li-jiahuan ÓÚ 2007-9-16 22:49 ±à¼­ [/i]]

dearvoid ·¢±íÓÚ 2007-9-3 09:19

¿´À´°³¶Á bash manual »¹²»ÊǺÜϸÖ°¡ :)

TUDOU01 ·¢±íÓÚ 2007-9-4 16:39

ÓÖѧµ½Ò»¸ö¼¼ÇÉ£¡£¡£¡

zhuomingliang ·¢±íÓÚ 2007-9-21 22:51

ÔÚ Perl ÀïÃæ£¬ÊÇÕâÑù´¦ÀíµÎ

Õª×Ô¡¶Perl ÓïÑÔ±à³Ì¡·
4.3.2 forÑ­»·

[code]$on_a_tty = -t STDIN && -t STDOUT;
   sub prompt {print "yes?" if $on_a_tty }
   for ( prompt(); <STDIN>; prompt() ) {              // Õâ¸öforÑ­»·Õæ±ä̬ --- by zhuomingliang
      # ´¦ÀíһЩÊÂÇé
   }[/code]

PS£º¿´À´ÊéÖеÄÀý×Ӵ󲿷ֺܾ­µä°¡£¬ÒÔǰ¿´µÄʱºò¶¼Ã»ÔõôעÒâ¡£:)

[[i] ±¾Ìû×îºóÓÉ zhuomingliang ÓÚ 2007-9-21 22:54 ±à¼­ [/i]]

li-jiahuan ·¢±íÓÚ 2007-9-21 23:31

Ò²²»ÊÇºÜÆæ¹Ö°É

ºÃ¶à¶«Î÷ÔÚfor()Àï¶¼¿ÉÄÜ×öµÄ
Ö»ÊDZ»ÀÏÌ·´ø»µÁË¡£¡£¡£:lol

zhuomingliang ·¢±íÓÚ 2007-9-22 09:11

ÎÒ¶¼²»ÖªµÀËû³¤Ê²Ã´Ñù£¬Ôõô¿ÉÄܱ»Ëû´ø»µÄØ:lol

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.