Powershell : 아포스트로피를 올바르게 이스케이프 처리 well…; echo hello'” 준다 well… hello . 그러나 모두 반향

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!



답변

완전성을 위해 이것은 내가 요청한 응답에 대한 명령입니다.

& $plinkPath -ssh $username@$host "echo well...; echo Hello, my \\\`"friend\\\`" \'brutus\', you \`$insult!"

가져옵니다

well...
Hello, my "friend" 'brutus', you $insult!


답변