Você pode usar plink -ssh -l $user -batch -pw $pw $user@$IP "df -k / | tail -1 | awk '{print '$4}'"
.
Powershell escapando em geral:
Escapando caracteres entre duas aspas duplas:
-
$
precisa ser escapado com'$
-
"
precisa ser escapado com'"
-
'
precisa ser escapado com''
Exceção:
Um trailing (no final das aspas duplas) $
não precisa ter nenhum escape.
Escape de caracteres entre duaspas simples:
-
'
precisa ser escapado com''
Escapando caracteres que não estão entre aspas:
-
$
precisa ser escapado com'$
-
@
precisa ser escapado com'@
-
#
precisa ser escapado com'#
-
'
precisa ser escapado com''
-
|
precisa ser escapado com'|
-
{
e}
precisam ser escapados com'{
e'}
-
;
precisa ser escapado com';
-
"
precisa ser escapado com'"
-
'
precisa ser escapado com''
Exceção:
Um trailing (no final das aspas duplas) $
não precisa ter nenhum escape.
Especial sempre escapou de caracteres:
-
'0
: caractere nulo -
'a
: personagem de alerta -
'b
: caractere de retrocesso -
'f
: personagem de feed de formulário -
'n
: caractere de nova linha -
'r
: Carriage-Return-Character -
't
: caractere de tabulação horizontal -
'v
: Vertical-Tab-Character
Formas especiais para parar a análise de caracteres especiais:
- Desde o Powershell 2.0, você pode usar
@' ... '@
para impedir a interpretação de seus parâmetros, mas@'
precisa estar na mesma linha do seu comando, os parâmetros precisam estar na próxima linha e'@
precisa estar em sua própria linha após os parâmetros - Desde o Powershell 3.0, você pode usar
--%
para parar de analisar tudo depois de--%
Exemplo:
$h@h#h'h|h{h}h;h"h'h$
:
- Entre aspas duplas:
exampleprogram.exe "'$h@h#h''h|h{h}h;h'"h'h$"
- Entre aspas simples:
exampleprogram.exe '$h@h#h'h|h{h}h;h"h''h'$
- Não está entre aspas:
exampleprogram.exe '$h'@h'#h''h'|h'{h'}h';h'"h''h$
- Usando
@' ... '@
:
exampleprogram.exe @'
$h@h#h'h|h{h}h;h"h'h$
'@
- Usando
--%
:exampleprogram.exe --% $h@h#h'h|h{h}h;h"h'h$