对于某些命令,可以将某些输入指定为stdin或命令行参数。
具体来说,假设command
可以将stdin输入和文件名用作命令行参数和command < myfile
,cat myfile | command
并且command myfile
可以产生相同的结果。
例如,
当命令是sed
:
sed s/day/night/ <myfile >new
sed s/day/night/ myfile >new
cat myfile | sed s/day/night/ >new
当命令是cat
:
cat < myfile
cat myfile
- 我想知道关于它们的性能是否有一些通用规则,即,其中哪一个通常是最有效的,而哪一个是最低的?
- 重定向是否总是比管道更好?
1
我希望每个问这些(重复的)问题的人都能从头开始编写自己的shell作为练习。
—
Alex
请不要使用“谢谢!” 在你的问题。投票回答以表达您的感激之情。
—
Alex
@Alex:如果这是骗子,请链接到重复项,我们将关闭它。通常,您将避免回答已知重复的问题,并标记它以引起主持人注意。
—
卡莱布
@alex:在哪里可以学习如何编写自己的shell?
—
蒂姆(Tim)
@Caleb:我敢肯定,过去一个月有人问过2到3次,只是没有链接方便:-p
—
alex