gpt4 book ai didi

c - 一个 C 程序演示 cmd.exe 和一个 linux shell 例如bash,定界参数?

转载 作者:可可西里 更新时间:2023-11-01 11:39:18 25 4
gpt4 key购买 nike

我听说 cmd shell 将整个内容传递给命令,然后标准 C 库将其分隔,同时考虑空格和引号。而在 Linux 中,只有 shell 可以做到这一点。

一个带有 while 循环的程序,显示 argsv[i] 显示它是如何定界的,但不显示 shell 做了什么,也没有显示 C 库做了什么。

任何人都可以指出或向我展示一个可以显示它的程序吗?

最佳答案

我想你想知道 shell 在 linux 中是如何工作的,对吗?我认为当我们在命令 shell 上键入任何内容时,shell 接收所有参数作为字符串格式的参数,shell 然后 fork+exec 二进制文件并将所有参数作为环境变量传递给新的二进制文件,然后将这些环境变量放入内核新进程的堆栈,稍后由进程作为 argc 和 argv[] 访问,但 c 库没有进行特殊处理。

关于c - 一个 C 程序演示 cmd.exe 和一个 linux shell 例如bash,定界参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4157287/

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