Выполнение Bash-скрипта в Mac OS: ошибка в каталоге не существует - PullRequest
0 голосов
/ 14 октября 2019

У меня есть такая команда

bash -c 'cd \"/Users/Shammon/Projects/t2i-tokenisation-corda/build/nodes/AGCSIT\" ; \"/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/bin/java\" \"-Dcapsule.jvm.args=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5008 -javaagent:drivers/jolokia-jvm-1.6.0-agent.jar=port=7008,logHandlerClass=net.corda.node.JolokiaSlf4jAdapter\" \"-Dname=AGCSIT\" \"-jar\" \"/Users/Shammon/Projects/t2i-tokenisation-corda/build/nodes/AGCSIT/corda.jar\" && exit'

Когда я запускаю это в терминале матча, я получаю следующую ошибку

bash: строка 0: cd: "/Пользователи / Shammon / Projects / t2i-tokenisation-corda / build / node / AGCSIT ": нет такого файла или каталога bash:" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/bin/java ": Нет такого файла или каталога

Но пути допустимы

1 Ответ

2 голосов
/ 14 октября 2019

Выход из двойных кавычек заставляет оболочку выглядеть как буквальные части имен файлов и параметров, а не просто как один токен. Нет необходимости избегать кавычек.

bash -c 'cd "/Users/Shammon/Projects/t2i-tokenisation-corda/build/nodes/AGCSIT" ; "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/bin/java" "-Dcapsule.jvm.args=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5008 -javaagent:drivers/jolokia-jvm-1.6.0-agent.jar=port=7008,logHandlerClass=net.corda.node.JolokiaSlf4jAdapter" "-Dname=AGCSIT" "-jar" "/Users/Shammon/Projects/t2i-tokenisation-corda/build/nodes/AGCSIT/corda.jar"'

Также нет необходимости в && exit в конце. Когда команда выполнена, оболочка автоматически завершается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...