关于流重定向的bash谜语:`catx>;y<`
我得到了下面一个bash谜语,没有关于所用变量含义的额外信息关于流重定向的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这里真
cat x > y <
我的问题是:
帕斯指出,我把代码>0与
弄错了。这个问题仍然有效。关于最初的谜语,我真的没有任何想法 但有一条关于“>0”的评论 这将重定向到名为“0”的文件。执行该行后,您会发现您的目录中有这样一个文件&0
ls *.txt >0; cat file1.txt > file2.txt <0;
ls*.txt>0;cat file1.txt>file2.txt这里真的没有什么神秘之处
如果stdin没有文件名参数(或者将cat x > y <
作为参数提供),则-
命令从stdin读取输入。否则,它将从命令行上命名的文件中读取数据,并忽略stdin 如果你打字cat
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