如何将powershell函数的输出作为参数传递给命令?
我认为这是一个非常简单的命令是不成功的:
git checkout -b SimplifyName("Test 1")
输出错误:
fatal: 'Test 1' is not a commit and a branch 'SimplifyName' cannot be created from it
其中,为了这个问题,
function SimplifyName ([string] $str = "UNDEFINED") {
$result = $str.Trim().ToLowerInvariant() -replace "[^a-z0-9]+","_"
Write-Output $result
}
据我所知,-b
后面的任何内容都被视为git checkout -b
命令的空格分隔字符串参数。
由于我可能使用了不正确的术语,我也在努力为此寻找一个好的帮助资源。
答案 0 :(得分:2)
$()
是subexpression operator,意思是'首先评估此内容,并将其作为独立声明单独执行'。
这里用于评估函数,然后使用它的输出作为git
命令:
git checkout -b $(SimplifyName "Test 1")