【问题标题】:Octave Command Line ArgumentsOctave 命令行参数
【发布时间】: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


【解决方案1】:

我也开始了。

说您的路径名有错误。您没有为路径指定任何明确的内容(即 c:\root\myfiles\filex.txt),因此它可能假定文件在您的当前目录中。

如果你输入 ls 你能看到你的文件吗?您可以将文件移动到当前目录或使用 cd 命令将当前指针更改为文件所在的位置。

【讨论】:

  • 是的,如果您看到上面的 cmets,我最终确实找到了我遇到此问题的原因。无论如何,谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-06-09
  • 2016-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
  • 2013-02-14
相关资源
最近更新 更多