从Windows

时间:2017-09-05 16:34:36

标签: bash shell elasticsearch

我是bash的新手。我正在尝试配置searchguard(elasticsearch的插件)。为此,我需要运行sgadmin.sh文件。以下是文件的内容。

#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
BIN_PATH="java"

if [ -z "$JAVA_HOME" ]; then
    echo "WARNING: JAVA_HOME not set, will use $(which $BIN_PATH)"
else
    BIN_PATH="$JAVA_HOME/bin/java"
fi

"$BIN_PATH" $JAVA_OPTS -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=OFF -cp "$DIR/../*:$DIR/../../../lib/*:$DIR/../deps/*" com.floragunn.searchguard.tools.SearchGuardAdmin "$@"

以下是运行sgadmin.sh文件时收到的错误。

$(BASH_SOURCE[0]): bad substitution
Error: Could not find or load main class com.floragunn.searchguard.tools.SearchGuardAdmin

任何人都可以解释上述代码的含义,更具体地说是最后一行

"$BIN_PATH" $JAVA_OPTS -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=OFF -cp "$DIR/../*:$DIR/../../../lib/*:$DIR/../deps/*" com.floragunn.searchguard.tools.SearchGuardAdmin "$@"

注意: 我们的环境是Windows Server 2012 要执行.sh文件,我们已将SH文件夹复制到C:\ drive并将其添加到环境变量(路径)。

0 个答案:

没有答案