0

我有这样的命令

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:“/Users/Shammon/Projects/t2i-tokenisation-corda/build/nodes/AGCSIT”:没有这样的文件或目录 bash:“/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents /Home/jre/bin/java": 没有这样的文件或目录

但路径是有效的

4

1 回答 1

2

转义双引号会导致 shell 将它们视为文件名和参数的文字部分,而不是仅将其视为单个标记。没有必要逃避引号。

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。命令完成后,shell 会自动退出。

于 2019-10-14T09:09:03.960 回答