Powershell: правильно избегать апострофов
Я хочу выполнить команду из 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!
1 ответ
Для полноты, это команда для ответа, который я просил:
& $plinkPath -ssh $username@$host "echo well...; echo Hello, my \\\`"friend\\\`" \'brutus\', you \`$insult!"
Это привносит
well...
Hello, my "friend" 'brutus', you $insult!