gpt4 book ai didi

powershell - 在 Powershell 中为变量设置默认值

转载 作者:行者123 更新时间:2023-12-04 04:33:53 32 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Null coalescing in powershell

(10 个回答)


5年前关闭。




在 bash 中,我可以做这样的事情来设置 name如果 UserName,则为默认值未设置:

name=${UserName:-James}

Powershell 是否支持这样的东西?

最佳答案

使用函数和参数,我们可以做一些我相信你正在做的事情。
一个函数示例:

function WriteUser
{
param($user = "A User",
$message = "Message")
Write-Host $user
Write-Host $message
}
不带参数调用函数
WriteUser
会给你输出:

A User

Message


WriteUser -user "Me"- 消息 "错误"
会写以下内容:

Me

Error


一些额外的注意事项,您不必使用参数名称。
WriteUser "Bob" "All Systems Go" would work by the order of the parameters.
您也可以切换命名参数的顺序:
WriteUser -message "Error" -user "user, user"
并且该函数会将 放入正确的参数中。
否则,我相信您将不得不做一些事情来近似三元行为,例如:
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
函数文件还可以包括:
Set-Alias ~ Like-Tern -Option AllScope
然后你会像这样使用它:
$var = ~ $Value : "Johnny"
当然, ~完全随意,因为我无法得到 ${上类...

关于powershell - 在 Powershell 中为变量设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39154887/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com