Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于流重定向的bash谜语:`catx>;y<`_Bash_Sh - Fatal编程技术网

关于流重定向的bash谜语:`catx>;y<`

关于流重定向的bash谜语:`catx>;y<`,bash,sh,Bash,Sh,我得到了下面一个bash谜语,没有关于所用变量含义的额外信息 cat x > y < 我的问题是: 为什么忽略标准输入的重定向 为什么0与&0弄错了。这个问题仍然有效。关于最初的谜语,我真的没有任何想法 但有一条关于“>0”的评论 这将重定向到名为“0”的文件。执行该行后,您会发现您的目录中有这样一个文件 ls *.txt >0; cat file1.txt > file2.txt <0; ls*.txt>0;cat file1.txt>file2.txt这里真

我得到了下面一个bash谜语,没有关于所用变量含义的额外信息

cat x > y <
我的问题是:

  • 为什么忽略标准输入的重定向

  • 为什么
    帕斯指出,我把代码>0与
    &0
    弄错了。这个问题仍然有效。

    关于最初的谜语,我真的没有任何想法

    但有一条关于“>0”的评论

    这将重定向到名为“0”的文件。执行该行后,您会发现您的目录中有这样一个文件

    ls *.txt >0; cat file1.txt > file2.txt <0;
    

    ls*.txt>0;cat file1.txt>file2.txt这里真的没有什么神秘之处

    cat x > y <
    
    如果stdin没有文件名参数(或者将
    -
    作为参数提供),则
    cat
    命令从stdin读取输入。否则,它将从命令行上命名的文件中读取数据,并忽略stdin

    如果你打字

    cat file1.txt
    
    cat file1.txt < 0
    
    它不会尝试从键盘读取输入。出于完全相同的原因,如果您键入

    cat file1.txt
    
    cat file1.txt < 0
    
    cat file1.txt<0
    
    它不会尝试读取文件
    0


    为什么
    你也可以发布这个谜语,也许有人可以帮你更多。@RedX不禁止交叉提问吗?我必须将其移动到那里,但我不知道如何操作。我已投票关闭您的问题并将其迁移到超级用户。是的,让我们投票通过原因关闭
    。此问题属于Stack Exchange网络中的另一个站点。另外,请参阅bash手册中有关重定向的内容:我不确定您对什么感到困惑
    cat
    仅在没有文件参数(或其中一个参数为
    -
    )时,根据其手册页查看stdin。输入流重定向源是否因使用cat命令而被视为文件?我不明白为什么它会是一种特殊情况,当通常假定
    0
    时。不,
    0
    通常不假定。我想你把
    弄糊涂了当然,谢谢你指出这一点。但是,为什么
    @infoholic\u不是匿名的:
    是真的,我只是好奇,这是bash标准的行为还是给定版本树中的一个特性。也就是说,这样的行为在每一次聚会上都会出现吗?
    
    cat file1.txt < 0