Sie können verwenden plink -ssh -l $user -batch -pw $pw $user@$IP "df -k / | tail -1 | awk ''"
.
Powershell Flucht im Allgemeinen:
Escape-Zeichen zwischen zwei Anführungszeichen:
$
muss mit entkommen werden`$
"
muss mit entkommen werden`"
`
muss mit entkommen werden``
Ausnahme:
Ein Nachlauf (am Ende des Anführungszeichens) $
muss überhaupt nicht maskiert werden.
Escape-Zeichen zwischen zwei einfachen Anführungszeichen:
'
muss mit entkommen werden''
Escape-Zeichen, die nicht in Anführungszeichen stehen:
$
muss mit entkommen werden`$
@
muss mit entkommen werden`@
#
muss mit entkommen werden`#
`
muss mit entkommen werden``
|
muss mit entkommen werden`|
{
und}
müssen mit`{
und entkommen werden`}
;
muss mit entkommen werden`;
"
muss mit entkommen werden`"
'
muss mit entkommen werden`'
Ausnahme:
Ein Nachlauf (am Ende des Anführungszeichens) $
muss überhaupt nicht maskiert werden.
Spezielle, immer mit Escapezeichen verbundene Zeichen:
`0
: Nullzeichen`a
: Alert-Charakter`b
: Backspace-Zeichen`f
: Formular-Feed-Zeichen`n
: New-Line-Character`r
: Wagenrücklauf-Zeichen`t
: Horizontal-Tab-Zeichen`v
: Vertical-Tab-Zeichen
Spezielle Möglichkeiten, die Analyse von Sonderzeichen zu stoppen:
- Seit Powershell 2.0 können Sie
@' ... '@
die Interpretation Ihrer Parameter verhindern,@'
müssen sich jedoch in derselben Zeile wie Ihr Befehl befinden. Die Parameter müssen sich in der nächsten Zeile befinden und'@
müssen nach den Parametern in einer eigenen Zeile stehen - Seit Powershell 3.0 können Sie
--%
damit aufhören, alles danach zu analysieren--%
Beispiel:
$h@h#h`h|hh;h"h'h$
:
- Mit Anführungszeichen eingeschlossen:
exampleprogram.exe "`$h@h#h``h|hh;h`"h'h$"
- Mit einfachen Anführungszeichen versehen:
exampleprogram.exe '$h@h#h`h|hh;h"h''h'$
- Nicht in Anführungszeichen eingeschlossen:
exampleprogram.exe `$h`@h`#h``h`|h`h`;h`"h`'h$
- Mit
@' ... '@
:
exampleprogram.exe @ '
$ h @ h # h`h | h h' h'h $
'@
- Mit
--%
:exampleprogram.exe --% $h@h#h`h|hh;h"h'h$