gpt4 book ai didi

linux - shell 是否使用管道与 "ls"通信?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:55:35 26 4
gpt4 key购买 nike

我的理解

当我在某些 shell (bash/ksh/csh/sh/whatsoever_shell) 中输入命令 ls *.txt 时,

1) shell首先扩展通配符表达式*.txt (e.g. a.txt, b.txt, c.txt)
2) 然后 fork() 是一个子进程
3) 使用扩展表达式作为命令行参数

调用 exec()(或其变体)

我的理解对吗?或者这是否以涉及管道的其他方式发生?

最佳答案

你的理解是正确的。无需使用管道,因为子进程可以共享 shell 的标准 I/O 文件描述符。

关于linux - shell 是否使用管道与 "ls"通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19876348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com