加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何判断我的程序是否被管道传输到另一个(Perl)

发布时间:2020-12-15 21:27:12 所属栏目:大数据 来源:网络整理
导读:“ls”在输出输出时的行为不同: ls ??? bar foo ls ??? | cat bar foo 它如何知道,我将如何在Perl中执行此操作? 解决方法 在Perl中,-t文件测试运算符指示文件句柄 (包括STDIN)连接到终端. 还有-p测试运算符来指示文件句柄 附在管道上. $perl -e 'printf "t
“ls”在输出输出时的行为不同:
> ls ??? 
bar  foo 
> ls ??? | cat 
bar 
foo

它如何知道,我将如何在Perl中执行此操作?

解决方法

在Perl中,-t文件测试运算符指示文件句柄
(包括STDIN)连接到终端.

还有-p测试运算符来指示文件句柄
附在管道上.

$perl -e 'printf "term:%d,pipe:%dn",-t STDIN,-p STDIN'
term:1,pipe:0
$perl -e 'printf "term:%d,-p STDIN' < /tmp/foo
term:0,pipe:0
$echo foo | perl -e 'printf "term:%d,-p STDIN'
term:0,pipe:1

文件测试运算符文档在perldoc -f -X.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读