Я хочу выполнить команду из powershell, которая, в свою очередь, выполняет команду на стороннем сервере, используя plink
, Но это работает только если у меня нет '
или же "
в команде, иначе Powershell подключается и печатает исключения.
Пример:
Invoke-Expression "$plinkPath -ssh $username@$host 'echo well...; echo hello'"
дает
well...
hello
, Но что, если я хочу повторить оба '
а также "
, сказать
Invoke-Expression "$plinkPath -ssh $username@$host 'echo well...; echo hello, my "friend" 'brutus'!'"
получить
well...
hello, my "friend" 'brutus'!
?
Изменить: Расширение, я хочу иметь $
,
well...
hello, my "friend" 'brutus', you $insult!
powershell
plink
Bowi
источник
источник
Invoke-Expression
должен использоваться для выполнения локальной команды (код PowerShell). Если вы хотите запустить исполняемый файл, просто сделайте это. Возможно рассмотрите возможность использования одного из вариантов, перечисленных в Как запустить EXE-файл в PowerShell с параметрами с пробелами и кавычкамиawk
с его (даже для себя) почти нечитаемыми командными строками. В итоге я упаковал команды в скрипт и загрузил их сpscp
и запустить его сplink
,Ответы:
Для полноты, это команда для ответа, который я просил:
Это привносит
источник