我最近了解了命令行参数,并了解了如何使用它们。但我只是不知道为什么我应该使用它们。我的意思是,您可以使用任何常规变量来执行与命令行参数相同的工作。
有人可以解释或提供命令行参数如何对程序至关重要的场景吗?
答案 0 :(得分:13)
edit myfile.txt
你总是可以让一个编辑器来编辑一个特定的文件,但如果用户能够告诉你他想要编辑哪个文件会更有意义。命令行参数是这样做的一种方式。
答案 1 :(得分:6)
命令行参数的目的是允许您将信息传递到程序中,而无需将其硬编码到程序中。例如
Foo -pages:10
Foo -pages:20
这里我们已将信息传递到程序中(在本例中为pages
设置)。如果您在程序中设置变量,则每次要更改它时都必须重新编译它!
答案 2 :(得分:5)
这意味着您无需编辑程序即可更改其中的内容。
假设您的程序处理文件夹中的所有文件以删除图标预览。您可以对要在程序中处理的文件夹进行硬编码。或者您可以将其指定为命令行参数。
我使用这个例子是因为它描述了我在家里Mac上使用的bash脚本。
答案 3 :(得分:3)
<强>自动化强>
如果您需要交互式用户输入,则无法在无头(或无人)环境中编写脚本或使用应用程序/工具。
您可以使用“配置文件”并从临时文件中读取和读取,但这很快就会变得很麻烦。
推动应用。
几乎每个非平凡的应用程序在做什么或做什么方面都有一些变化;可以而且必须应用某种程度的控制。与函数类似,接受参数是很自然的。
命令行是一个自然而直观的环境,支持和使用命令行可以更好,更轻松地采用应用程序(或工具)。
可以使用GUI,但除非您的计划是仅支持GUI环境且仅支持支持通过GUI输入,否则命令行是必需的。< / p>
答案 4 :(得分:2)
考虑重复其论点的echo
- 没有它们就很难发挥作用。
或tar
- 如何在没有命令行参数的情况下提取,创建,解压缩,列表等等?
或git
,可选择拉,推,合,分支,结帐,提取......
或字面上的任何UNIX程序除了true
和false
之外(尽管那些GNU版本确实需要参数。)
答案 5 :(得分:0)
将参数传递给main有无数的应用程序。例如,假设您是开发人员,并且您已经设计了一个用于处理图像的应用程序。普通用户只需将图像名称传递给您的应用程序进行处理。您的应用程序的实际源文件不可用,或者它们可能不是程序员。