OS X.如何使用参数运行控制台应用程序?

时间:2015-11-15 15:12:26

标签: swift macos bash console

我尝试使用参数运行自己的控制台应用。该应用程序使用快速语言编写,需要一个外部参数才能工作。在代码中我以这种方式得到第一个参数:Process.arguments[1](0参数 - 应用程序的路径)。

从终端I' m运行操作:open MyApp --args test_argument

但它不起作用。我不知道为什么。当我对这个参数进行硬编码时,一切正常,但是当我试图从外面获取它时,它不是......

有人知道我做错了什么吗?也许我以错误的方式传递参数?或者得到不正确?谢谢。

1 个答案:

答案 0 :(得分:2)

Process.arguments[1]对于访问第一个参数是正确的,但要小心,因为如果你没有传递任何参数,这会因致命错误:数组索引超出范围而崩溃。在访问Process.arguments.count > 1之前,您应首先检查以确保Process.arguments[1]

您的问题是您运行应用的方式。您只需指定应用程序名称后跟任何参数:

MyApp test_argument

如果MyApp不在您的$PATH或当前目录中,则无法找到它。您可以修改~/.bash_profile以添加$PATH的其他路径。每次打开新终端时都会执行(源)此文件。要在刚编辑完成后执行它,请键入. ~/.bash_profile

例如,如果您将应用保留在~/Documents目录中,请修改~/.bash_profile并添加以下行:

export PATH=$PATH:~/Documents