【发布时间】:2012-06-04 02:33:51
【问题描述】:
这可能是一个普遍的问题,但我是 octave 的新手,想从命令行获取一个字符串。但是,我不确定命令行参数的格式。我尝试输入:
myscript hi
myscript --hi
myscript -hi
myscript (hi)
在命令行中,但我不断收到此错误:
错误:索引表达式中脚本“myscript filepath”的使用无效
所以我显然没有正确调用它。 --hi 是官方网站上显示的格式,但它似乎不适用于我。这个脚本,我下线就是为了测试:
#! /usr/bin/octave -qf
printf("%s", program_name());
arg_list = argv();
for i = 1:nargin
printf(" %s", arg_list{i});
end
printf("\n");
为了让 argv 工作,我需要执行什么操作吗?
【问题讨论】:
-
你能发布一个显示问题的代码的最小版本吗?您发布的示例代码对我来说很好,但我猜这不是您的问题所在。
-
其实是我在命令行运行代码时遇到问题。所以我输入类似: ">myscript --hi" 。出现的是这条消息:错误:在索引表达式中无效使用脚本 C:\Users\Roostersign\Desktop\myscript.m。我不明白如何阻止这种情况发生。
-
我想我要问的是:有人能告诉我他们是如何在命令行上运行这个程序的,以确保我没有做一些愚蠢的事情导致这个错误吗?
-
所以您在运行您发布的特定代码示例时遇到问题?当我运行它时,这对我来说很好,但我使用的是 Linux 而不是 Windows。我不太了解使用 Windows 命令行。也许尝试将命令行参数放在引号中,例如
myscript.m "--hi",看看你是否得到同样的错误。也可以尝试不带任何参数运行脚本,看看是否有错误。 -
呃,没关系。所以这个错误基本上是由于 Windows 命令行和 Octave 提示之间的混淆,除了一些文件不在当前目录中。哎呀。不过谢谢你的帮助。 :)
标签: command-line-arguments octave