【发布时间】:2019-10-04 02:51:04
【问题描述】:
我正在尝试用 C 重新制作一个 ls 命令;如果列出了目录内容(正如 Unix ls 所做的那样),我需要复制一个“总”行。 我知道这是文件大小的总和(不考虑软链接和内部目录内容),四舍五入,除以局部变量 BLOCKSIZE,如果错了,请纠正我。 问题是:BLOCKSIZE 到底是什么,我如何从终端检查它以及如何在 c 中获取它的值。 PS:我的 c 程序必须从 ./program [options] {files} 之类的 bash 运行,我不能在 main 中将任何其他内容传递给 argv。 提前致谢!
【问题讨论】:
-
您可以将其作为命令行参数传递给您的程序,也可以将其作为环境变量导出到您的程序。
-
非常感谢您的建议,所以要导出它类似于
export VAR,对吧? -
对,这取决于您使用的 shell,但对于 sh 和 bash,您将使用
export。然后你可以在你的 C 程序中使用getenv。