Powershell函数输出作为Git命令的参数值

时间:2018-01-05 15:45:04

标签: git powershell

如何将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命令的空格分隔字符串参数。

由于我可能使用了不正确的术语,我也在努力为此寻找一个好的帮助资源。

1 个答案:

答案 0 :(得分:2)

$()subexpression operator,意思是'首先评估此内容,并将其作为独立声明单独执行'。

这里用于评估函数,然后使用它的输出作为git命令:

git checkout -b $(SimplifyName "Test 1")