Клиент JBoss PowerShell добавляет путь к модулю с пробелом - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь добавить модуль в экземпляр WildFly с помощью клиента JBoss PowerShell, но он не работает, когда путь к модулю содержит пробел.

Я попытался обернуть путь в одинарный и двойной кавычки безрезультатны.


Список протестированных вариантов использования:

  1. Без кавычек
  2. Использование одинарных кавычек
  3. Использование двойных кавычки
  4. Выход из пробела с помощью обратной косой черты sh (\)
  5. Выход из пробела с помощью обратного ключа (`)
  6. Использование двойных кавычек внутри команды, заключенной в одинарные кавычки
  7. Экранирование внутренних двойных кавычек с помощью backtick (`)
  8. Экранирование внутренних двойных кавычек с помощью backsla sh (\)
  9. Использование двойных двойных кавычек ( "")
  10. Выход из внутренних одинарных кавычек с обратным символом sh (\) в команде с двойными кавычками

Примеры

1 , Без кавычек

Команда клиента JBoss

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

Сообщение об ошибке

Команда принимает 1 безымянный аргумент (ы), но получил: [add, directory / sqljdbc42. банка]


2. Использование одинарных кавычек

клиентская команда JBoss

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

Сообщение об ошибке

Команда принимает 1 безымянный аргумент (ы), но получает: [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' считается командой, но команды для выполнения были заданы другим аргументом: [module add --name = ms sql .jdb c --resources = C: \ module]


4. Выход из пространства с помощью backsla sh (\)

Команда клиента JBoss

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

Сообщение об ошибке

Не удалось найти C: \ module \ directory \ sqljdbc42.jar, если вы определили несуществующий ресурс специально, вы должны использовать опцию --allow-nonexistent-resources


5. Выход из пространства с помощью backtick (`)

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

Сообщение об ошибке

Команда принимает 1 безымянный аргумент (ы), но получила: [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' предполагается равным команда (ы), но команды для выполнения были определены другим аргументом: [module add --name = ms sql .jdb c --resources = C: / module]


7. Выход из внутренних двойных кавычек с помощью backtick (`)

Клиентская команда JBoss

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

Сообщение об ошибке

'directory / sqljdbc42.jar' предполагается быть командой (ами), но команды для выполнения были определены другим аргументом: [module add --name = ms sql .jdb c --resources = C: / module]


8. Выход из внутренних двойных кавычек с помощью backsla sh (\)

Клиентская команда JBoss

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

Сообщение об ошибке

'directory / sqljdbc42.jar \ 'предполагается команда (ы), но команды для выполнения были определены другим аргументом: [module add --name = ms sql .jdb c --resources = \ C: / module ]


9. Использование двойных двойных кавычек ("")

клиентская команда JBoss

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

Сообщение об ошибке

'directory / sqljdbc42.jar' предполагается равным команда (и), но команды для выполнения были определены другим аргументом: [module add --name = ms sql .jdb c --resources = C: / module]


10. Выход из внутренних одинарных кавычек с помощью backsla sh (\) в команде с двойными кавычками

Клиентская команда JBoss

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

Сообщение об ошибке

Команда принимает 1 безымянный аргумент (ы), но получил: [add, 'C: / module, directory / sqljdbc42.jar \']

1 Ответ

0 голосов
/ 14 января 2020

Правильный формат - экранирование двойных кавычек внутри команды, заключенной в одинарные кавычки.

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

Спасибо @Aaron за помощь.

...