我正在关注 William Shotts 的“Linux 命令行”。据我了解,>
操作员将标准输出保存到文件中,并<
从文件中获取标准输入。
如果键盘是默认的标准输入并且<
只从某个文件中获取该输入,为什么ls -l
不等同于ls < some_params.txt
where some_params.txt
will contain -l
?
提前致谢
ilk*_*chu 13
为什么
ls -l
不等于ls < some_params.txt
wheresome_params.txt
会包含-l
?
因为命令行不是标准输入!
ls
这里不是一个很好的例子,因为它不使用标准输入。它只是处理它获得的命令行选项,查看一些目录,并将列表打印到标准输出。
但是考虑类似cat -n
. 它-n
从命令行获取标志,然后从其标准输入中读取,添加行号并打印到标准输出。没有< filename
,输入来自终端(即您的键盘)。有了它,它来自一个文件。
您可以做的是使用命令替换将文件的内容插入到命令行。ls $(cat some_params.txt)
(或ls $(< some_params.txt)
在支持它的外壳中)会做你的建议。
归档时间: |
|
查看次数: |
296 次 |
最近记录: |