In bash ich so etwas tun kann name
auf einen Standardwert zu setzen, wenn UserName
nicht gesetzt ist:einen Standardwert für Variable in Powershell Set
name=${UserName:-James}
Does Powershell-Unterstützung so etwas wie das?
In bash ich so etwas tun kann name
auf einen Standardwert zu setzen, wenn UserName
nicht gesetzt ist:einen Standardwert für Variable in Powershell Set
name=${UserName:-James}
Does Powershell-Unterstützung so etwas wie das?
Mithilfe von Funktionen und Parametern können wir etwas tun, was ich glaube, was Sie tun.
Eine Funktion Beispiel:
function WriteUser
{
param($user = "A User",
$message = "Message")
Write-Host $user
Write-Host $message
}
die Funktion ohne Parameter aufrufen
WriteUser
werden Sie den Ausgang geben:
Ein Benutzer
Nachricht
WriteUser -user "Me" -Nachricht "Error"
schreiben würde, die folgenden:
Me
Fehler
Ein paar zusätzliche Hinweise, die Sie tun muss nicht die Parameternamen verwenden.
WriteUser "Bob" "All Systems Go" would work by the order of the parameters.
Sie können auch die Reihenfolge der genannten Parameter wechseln:
WriteUser -message "Error" -user "user, user"
und die Funktion wird die auf den richtigen Parameter setzen.
Ansonsten glaube ich, würden Sie etwas zu tun haben ternären Verhalten anzunähern, wie:
function Like-Tern
{
for ($i = 1; $i -lt $args.Count; $i++)
{
if ($args[$i] -eq ":")
{
$coord = $i
break
}
}
if ($coord -eq 0) { throw new System.Exception "No operator!" }
$toReturn
if ($args[$coord - 1] -eq "")
{
$toReturn = $args[$coord + 1]
}
else
{
$toReturn = $args[$coord -1]
}
return $toReturn
}
Credit for the idea here Eine Funktion Datei auch gehören könnte:
Set-Alias ~ Like-Tern -Option AllScope
Und dann würden Sie es verwenden, wie :
$var = ~ $Value : "Johnny"
Natürlich ~
war völlig willkürlich, weil ich ${
nicht zum Arbeiten bekommen konnte ...
Als Parameter oder nur als Variable? –