我创建了一个名为“com”的文件,其中包含内容
Chapter*
然后我尝试在 bash 中运行以下命令:
ls < com
据我了解,shell 将接受输入 章节* 从文件“com”并将其放在 ls 旁边,结果如下:
ls Chapter*
现在此命令应该列出以“Chapter”开头的所有文件,但它会打印当前目录中的所有文件。
以下命令也会发生这种情况
cat < list_of_filenames_to_give_input_to_cat_command
让“list_of_filenames_to_give_input_to_cat_command”包含以下内容:
quicksort.c
mergesort.c
radixsort.c
这应该打印上述每个文件的内容。相反,它只是打印文件名,如下所示:
quicksort.c
mergesort.c
radixsort.c
感谢任何帮助!谢谢。
最佳答案
ls 不从标准输入读取参数,而是从命令行读取参数。
你可以简单地这样做:
ls -l $(cat com)
关于linux - Bash 输入重定向为命令提供标准输入而不是参数/文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28808007/