Я работаю с скриптом bash, который в настоящее время работает на сервере (RHEL4). Я развиваюсь на своем ноутбуке с Ubuntu 10.04, но я не думаю, что платформа вызывает проблему.Ошибка синтаксиса Bash: "[[: not found"
Вот что происходит: У меня есть сценарий скелета, который вызывает другой скрипт, который выполняет большую часть работы. Тем не менее, он вызывает вызовы getConfig.sh много. getConfig.sh в основном просто анализирует некоторый аргумент командной строки (используя getopts) и вызывает программу Java для анализа некоторых файлов XML. В любом случае getConfig.sh вызывает множество ошибок (но все же, похоже, работает).
Вот сообщение, которое я получаю
я получаю эти три ошибки каждый раз, когда он работает; однако скрипт завершается и выполняется код Java.getconfig.sh: 89: [[: not found
getconfig.sh: 89: [[: not found
getconfig.sh: 94: [[: not found
Вот код раздела relavent
parseOptions $* if [[ "${debugMode}" == "true" ]] ; then DEBUG="-DDEBUG=true" echo "${JAVA_HOME}/bin/java ${DEBUG} -Djava.endorsed.dirs=${JAXP_HOME} -jar $(dirname $0)/GetXPath.jar ${XML_File} ${XPath_Query}" fi
Line 89 «parseOptions $ * и линия 94 является "фи"
Спасибо за ответы.
Как в стороне, '$ *' глючит - это изменит два аргумента '«аргумент один»«аргумент два»' на четыре agruments, '«аргумент»,«один»,«аргумент» "два" '. Вместо этого используйте '' $ @ "'. –