w bash można zrobić coś takiego, aby ustawić name
na wartość domyślną, jeśli nie jest ustawiona UserName
:Ustaw domyślną wartość zmiennej w PowerShell
name=${UserName:-James}
Czy PowerShell support coś takiego?
w bash można zrobić coś takiego, aby ustawić name
na wartość domyślną, jeśli nie jest ustawiona UserName
:Ustaw domyślną wartość zmiennej w PowerShell
name=${UserName:-James}
Czy PowerShell support coś takiego?
Korzystając z funkcji i parametrów, możemy zrobić coś, co myślę, że robisz.
przykładu funkcja:
function WriteUser
{
param($user = "A User",
$message = "Message")
Write-Host $user
Write-Host $message
}
wywołanie funkcji bez parametrów
WriteUser
daje wynik:
Użytkownikiem
Wiadomość
WriteUser -user "Me" -message "Error"
byłoby napisać następujące:
Me
błędach
Kilka dodatkowych uwag, robisz nie muszą używać nazw parametrów.
WriteUser "Bob" "All Systems Go" would work by the order of the parameters.
Można zmienić kolejność wymienionych parametrów, a także:
WriteUser -message "Error" -user "user, user"
a funkcja wprowadzi do odpowiedniego parametru.
W przeciwnym razie, uważam, że trzeba coś zrobić, aby zbliżyć potrójny zachowania jak:
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 Plik funkcja może również obejmować:
Set-Alias ~ Like-Tern -Option AllScope
I wtedy byłoby używać go jak :
$var = ~ $Value : "Johnny"
Oczywiście, ~
był całkowicie arbitralny, ponieważ nie mogłem uzyskać ${
do pracy ...
Jako parametr lub tylko jako zmienna? –