【问题标题】:How to call a bash script with positional parameters?如何使用位置参数调用 bash 脚本?
【发布时间】:2013-04-11 15:41:37
【问题描述】:

我有一个将使用以下命令执行的脚本,

bin/nutch crawl urls -dir /data/test/

bin/nutch - 脚本文件 crawl, urls, /data/test/ - 参数 -dir - 选项

上面的脚本应该从一个名为 test.sh 的 shell 脚本中执行。我有下面的代码来执行它,但是它无法传递位置参数,

path="/home/vel/vel-home/scripting/apache-nutch-1.6/bin"
. $path/nutch "crawl" -dir "$path/urls" "$path/data/test/"

请帮我解决这个问题。

【问题讨论】:

  • “/data/test/”是选项“-dir”的参数吗?还是 -dir 是一个布尔选项?

标签: bash parameters


【解决方案1】:

您需要使用$1$2 等,才能访问传递给脚本的参数。

这是一个示例脚本:

NUTCH_HOME="/home/vel/vel-home/scripting/apache-nutch-1.6"
dataDir="$1"
${NUTCH_HOME}/bin/nutch crawl "${NUTCH_HOME}/urls" -dir "$dataDir"

你可以这样运行它:myscript.sh /data/test

【讨论】:

  • 谢谢。理想情况下,位置参数应该首先出现,然后“选项”应该提供给脚本。
猜你喜欢
  • 2020-05-20
  • 2020-02-21
  • 1970-01-01
  • 2018-09-07
  • 2010-12-31
  • 2019-03-04
  • 2021-04-03
相关资源
最近更新 更多