【问题标题】:Running ELKI automatically自动运行 ELKI
【发布时间】:2016-06-16 12:56:08
【问题描述】:

我有 25 个文件,我想用相同的设置处理它们,但是对于以下脚本,我收到两个错误:

**由于配置错误而停止执行。 optics.sh:第 9 行:-算法:找不到命令 optics.sh:第 14 行:-optics.minpts:找不到命令** #!/bin/bash 用于 ~/ELKI/locationData/csv/*.csv 中的文件;做 名称=${文件##*/} java -jar ~/ELKI/elki.jar KDDCLIApplication \ -dbc.in“$文件”\ -db.index tree.spatial.rstarvariants.rstar.RStarTreeFactory \ -index.pagefile MemoryPageFileFactory -pagefile.pagesize 512 \ -spatial.bulkstrategy SortTileRecursiveBulkSplit \ -算法聚类.optics.OPTICSXi \ -opticsxi.xi 0.05\ -algorithm.distancefunction geo.LatLngDistanceFunction \ -geo.model SphericalHaversineEarthModel \ -optics.epsilon 100.0 \ -optics.minpts 200 \ -resulthandler ResultWriter -out.gzip \ -out ~/ELKI/locationData/output/${name%.*} 完毕

我对 bash 没有太多经验,可能是我的 bash 脚本有错误。

【问题讨论】:

  • 复制粘贴你的脚本到shellcheck.net,第8行和第13行的`\`后面好像有空格
  • 谢谢它解决了问题。
  • 乐于助人!始终使用上述站点来验证脚本中的语法问题。

标签: bash elki


【解决方案1】:

在某些行中的换行符\ 字符后似乎有一个空格。如果反斜杠后面有空格,则转义将应用于它们而不是换行符,并且命令将不会在下一行继续。

# There are spaces after the backslash:
$ echo hello \   
hello
$ world
bash: world: command not found

# No spaces after the backslash:
$ echo hello \
> world
hello world

【讨论】:

    猜你喜欢
    • 2014-07-01
    • 2016-08-26
    • 2013-04-16
    • 2015-09-02
    • 2017-03-29
    • 2023-04-02
    • 2013-02-25
    • 1970-01-01
    • 2014-10-10
    相关资源
    最近更新 更多