为什么要使用命令行参数
Why should I use command-line arguments?
我最近学习了命令行参数,并了解如何使用它们。但我只是不明白为什么我应该使用它们。我的意思是,您可以使用任何普通变量来执行与命令行参数相同的工作。
有人可以解释或给出命令行参数如何对程序至关重要的场景吗?
edit myfile.txt
您始终可以制作编辑器来编辑一个特定文件,但是如果用户能够告诉您他要编辑哪个文件,则会更有意义。 命令行参数是执行此操作的一种方法。
命令行参数的目的是允许您将信息传递到程序中,而无需将其硬编码到程序中。例如
Foo -pages:10
Foo -pages:20
在这里,我们已将信息传递到程序中(在本例中为pages
设置)。如果你在程序中设置了一个变量,每次你想要改变它时都必须重新编译它!
这意味着您不必编辑程序即可更改其中的某些内容。
假设您的程序处理文件夹中的所有文件以删除图标预览。您可以对要在程序中处理的文件夹进行硬编码。或者,您可以将其指定为命令行参数。
我使用这个例子是因为它描述了我在家里的 Mac 上使用的 bash 脚本。
自动化。
如果您需要交互式用户输入,则无法在无外设(或无人)环境中编写脚本或使用应用程序/工具。
您可以使用"配置文件"并从临时文件写入和读取,但这很快就会变得很麻烦。
驱动应用程序。
几乎每个非平凡的应用程序在做什么或如何做某事方面都有一些变化;可以而且必须应用某种程度的控制。与函数类似,接受参数是很自然的。
命令行是一个自然而直观的环境,支持和使用命令行可以更好、更轻松地采用应用程序(或工具)。
当然可以使用 GUI,但除非您的计划仅支持 GUI 环境并且仅支持通过 GUI 输入,否则命令行是必需的。
考虑 echo
,它重复了它的参数——没有它们,它几乎无法工作。
或者tar
- 如果没有命令行参数,它如何判断是否提取、创建、解压缩、列出等?
或git
,具有拉取,推送,合并,分支,结帐,获取等选项...
或者字面上的任何UNIX程序,除了true
和false
(尽管这些版本的GNU版本确实需要参数)。
将参数传递给main的应用程序数不胜数。例如,假设您是一名开发人员,并且您设计了一个用于处理图像的应用程序。普通用户只需将图像的名称传递给您的应用程序进行处理。应用程序的实际源文件对他们不可用,或者他们可能不是程序员。
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 使用 C++ 将命令行参数拆分为参数/向量
- 如何在OMNET++中添加专门的命令行参数?
- 如何在不传递命令行参数的情况下在 c++ 中设置环境变量
- atoi() 在应用于大型命令行参数时会产生不正确的值
- 命令行参数,cant 或两个变量
- 在 Windows 中使用 boost::p rogram_options 从命令行参数读取 Unicode 字符
- 如何在 Android/NDK 上将命令行参数从 gradlew.bat 传递到 Clang
- 编写一个将 LLVM IR 文件作为命令行参数的程序
- 通过命令行参数获取llvm ir文件时面临问题
- 有没有办法根据命令行参数定义数组大小?运行时与编译时实例化?
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 命令行参数在不到 3 个 LOC 中 int?
- 在命令行参数中使用引号
- 在VS2013中使用devenv (C++)传递命令行参数argv
- 二进制数据作为命令行参数
- 如何在 C++11 中创建具有命令行参数大小的动态数组?
- 需要有关如何设置getopt_long以正确传递命令行参数的建议
- Bash 脚本和命令行参数