命令行编程全解析:从创建工具到部署应用
1. 命令行工具概述
命令行工具是一种可执行文件,设计初衷是在命令行界面使用时发挥作用。虽然系统中的许多可执行文件都能通过命令行启动,但并非所有文件都能作为有用的命令。例如,某个仅在内存中存储一个数字然后退出的程序,既不执行有用的工作,也不输出有趣的信息,更不接受输入,这样的程序就不能算作命令行工具。
1.1 命令行工具的输入来源
命令行工具的输入主要有两个来源:命令行参数和标准输入(stdin)。
- 命令行参数 :是从 shell 传递给程序的字符串。例如执行 ls -l
命令时,这些参数会被转换为 C 字符串并传递给程序,程序可以根据这些参数改变自身行为。
- 标准输入 :在代码中用 stdin
表示,是标准输出( stdout
)的补充。 printf()
和 putchar()
函数将字符发送到标准输出,而命令行程序的标准输入则用于接收用户或其他程序发送的字符。
2. 命令行参数与 main() 函数
当 shell 运行命令时,会将命令行输入的文本转换为一系列 C 字符串,并在程序执行前分配和复制到程序中。 main()
函数的两个参数 argc
和 argv
包含了从 shell 传递给程序的所有参数。
- argc