gpt4 book ai didi

powershell - powershell命令的一部分被变量替换

转载 作者:行者123 更新时间:2023-12-02 23:15:34 25 4
gpt4 key购买 nike

是否可以在powershell中执行以下操作?

$condition = "-eq 10"
$a=11

if ($a &$condition) {"yes"} else {"no"}

基本上是在语句外创建语句的一部分,然后动态使用它?

我知道我可以在变量中创建整个语句,然后使用Invoke-Expression或作为&$ cmd来运行它,但是我有一个非常长且复杂的if / else语句,并试图动态构建它的一部分。

希望有道理:)

最佳答案

是的,如果您可以接受调换订单,例如:

C:\PS> $conditionEq10 = {param($a) $a -eq 10}
C:\PS> $a = 11
C:\PS> if (&$conditionEq10 $a) {'yes'} else {'no'}
no
C:\PS> $a = 10
C:\PS> if (&$conditionEq10 $a) {'yes'} else {'no'}
yes

您可以在PowerShell中使用脚本块 {code}进行前缀样式表示法,但不能使用infix或postfix。这是因为PowerShell希望参数跟随脚本块(而不是之前和之间)。

关于powershell - powershell命令的一部分被变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12716944/

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