JBoss PowerShell 客户端添加模块路径 space

JBoss PowerShell client add module path with space

我正在尝试使用 JBoss PowerShell 客户端将模块添加到 WildFly 实例,但是当模块路径包含 space.

时失败

我试过用单引号和双引号将路径括起来,但没有用。


已测试用例列表:

  1. 没有引号
  2. 使用单引号
  3. 使用双引号
  4. 使用反斜杠转义 space (\)
  5. 使用反引号 (`) 转义 space
  6. 在单引号命令中使用双引号
  7. 使用反引号 (`) 转义内部双引号
  8. 使用反斜杠转义内部双引号 (\)
  9. 使用双引号 ("")
  10. 在双引号命令中使用反斜杠 (\) 转义内部单引号

例子

1。没有引号

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources=C:/module directory/sqljdbc42.jar"

错误信息

The command accepts 1 unnamed argument(s) but received: [add, directory/sqljdbc42.jar]


2。使用单引号

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources='C:/module directory/sqljdbc42.jar'"

错误信息

The command accepts 1 unnamed argument(s) but received: [add, directory/sqljdbc42.jar']


3。使用双引号

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources="C:/module directory/sqljdbc42.jar""

错误信息

'directory\sqljdbc42.jar' is assumed to be a command(s) but the commands to execute have been specified by another argument: [module add --name=mssql.jdbc --resources=C:\module]


4。使用反斜杠转义 space (\)

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources=C:/module\ directory/sqljdbc42.jar

错误信息

Failed to locate C:\module\ directory\sqljdbc42.jar, if you defined a nonexistent resource on purpose you should use the --allow-nonexistent-resources option


5。使用反引号 (`)

转义 space
.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources=C:/module` directory/sqljdbc42.jar"

错误信息

The command accepts 1 unnamed argument(s) but received: [add, directory/sqljdbc42.jar]


6.在单引号命令中使用双引号

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command='module add --name=mssql.jdbc --resources="C:/module directory/sqljdbc42.jar"'

错误信息

'directory/sqljdbc42.jar' is assumed to be a command(s) but the commands to execute have been specified by another argument: [module add --name=mssql.jdbc --resources=C:/module]


7。使用反引号 (`)

转义内部双引号

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources=`"C:/module directory/sqljdbc42.jar`""

错误信息

'directory/sqljdbc42.jar' is assumed to be a command(s) but the commands to execute have been specified by another argument: [module add --name=mssql.jdbc --resources=C:/module]


8。使用反斜杠转义内部双引号 (\)

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources=\"C:/module directory/sqljdbc42.jar\""

错误信息

'directory/sqljdbc42.jar\' is assumed to be a command(s) but the commands to execute have been specified by another argument: [module add --name=mssql.jdbc --resources=\C:/module]


9。使用双引号 ("")

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources=""C:/module directory/sqljdbc42.jar"""

错误信息

'directory/sqljdbc42.jar' is assumed to be a command(s) but the commands to execute have been specified by another argument: [module add --name=mssql.jdbc --resources=C:/module]


10。在双引号命令

中使用反斜杠 (\) 转义内部单引号

JBoss 客户端命令

.\jboss-cli.ps1 --connect --command="module add --name=mssql.jdbc --resources=\'C:/module directory/sqljdbc42.jar\'"

错误信息

The command accepts 1 unnamed argument(s) but received: [add, 'C:/module, directory/sqljdbc42.jar\']

正确的格式是在单引号命令中转义双引号。

.\jboss-cli.ps1 --connect --command='module add --name=mssql.jdbc --resources=\"C:/module directory/sqljdbc42.jar\"'

谢谢@Aaron 的帮助。