【发布时间】:2021-05-21 01:30:11
【问题描述】:
我正在尝试在 可重用 PowerShell(v5.1,但与 v-agnostic)脚本的大规模库中做得更好,我有一个非常简单的任务将用于说明。来自 C# 的伪代码,用于从另一个变量创建变量,进行一些更改看起来像
string somevar = "foo";
string someothervar = DoSomethingTo(somevar); // lots of variations HERE
Debug.Print someothervar;
假设这是一个简单的replace 操作。我不会费心用 C#(或 PoSh)编写它,但由于它本质上是一种脚本语言,所以我可以为 replace 找到的每个博客或文档类型的示例看起来都类似于
> $somevar = "foo"
> {# here are 3 ways to say replace in PowerShell}
> # here is some console output of what happens when you do that
我不关心控制台输出。我关心了解所有 PowerShell-native 方法,我可以在$somevar 上使$someothervar 脱离操作,例如替换其中的一部分。 (我知道我基本上可以调用 .NET。)
如果我以更糟糕的方式问这个问题,那就是“如何使用其他 PowerShell 变量和/或参数在内联操作中设置本地 PowerShell 变量”。
【问题讨论】:
-
您介意重新表述您的问题吗?很难理解你想要什么。您是否正在寻找有关 Powershell 变量如何工作的更深入的解释?
-
@AbrahamZinala 我确实研究了措辞,信不信由你,之前很长一段时间,然后在此发布。 (我认为身体本身是这样说的。)但我同意,它仍然很烂。这可能是 PoSh noob 的失败,并且可能不会帮助任何人。在 C# 中使用一系列链式操作设置变量非常简单。将其设置为 PoSh 中不存在 .NET 更难(至少对我而言,到目前为止)。抱歉,我帮不上忙,希望更明确和更狭隘。
-
我仍然很困惑为什么你认为你不能在 PowerShell 中做到这一点。无论您将多少东西链接在一起,这些表达式的输出都会被变量捕获,这并不重要。
标签: powershell local-variables powershell-module