猫无法用管道获取内容?

时间:2012-10-10 01:41:03

标签: shell

有一个名为test的文件,测试中只有一行,haha

tiger@debian:~$ cat test
haha
tiger@debian:~$ cat 'test'
haha

为什么以下命令无法获取hahals test输出test,为什么ls test |猫无法输出haha

tiger@debian:~$ ls test
test
ls test  | cat 
test

我的系统是debian + bash

3 个答案:

答案 0 :(得分:2)

问题不在于管道本身,而是ls test不输出文件test的内容。 ls列出目录内容。 ls test只会输出test

如果您绝对希望使用竖线显示test的内容,您可以使用:

cat test | xargs echo

答案 1 :(得分:1)

如果您确实想要显示该文件的内容,请尝试

ls test | xargs cat

答案 2 :(得分:0)

您可以查看“男人猫”

使用时 cat testcat 'test',shell假定第二个参数始终是文件名。

然而,对于管道,cat期望得到一堆文本,因此,“#”的内容是' ls'打印出来。