powershell字符串中的变量值null

时间:2015-10-26 11:18:29

标签: powershell

我在PowerShell中使用以下代码。不幸的是,它没有获得$Startinghash$lastHash值。如果我直接传递值,代码工作正常。

不工作: -

$StartingHash = "f116bcce5cc0701cb0b5a673bc4ce9f723050f04"
$LastHash = "2870d215c7201e7cf65c71d4d0e732078b3bda31"

git log --pretty=format: --name-only $StartingHash..$LastHash | sort | uniq | grep -i '".sql"' > C:\Ashish\data\sqlRB.txt 

工作: -

git log --pretty=format: --name-only f116bcce5cc0701cb0b5a673bc4ce9f723050f04..2870d215c7201e7cf65c71d4d0e732078b3bda31 | sort | uniq | grep -i '".sql"' > C:\Ashish\data\sqlRB.txt

我认为不设定变量值。

Write-Host git log --pretty=format: --name-only $StartingHash..$LastHash | sort | uniq | grep -i '".sql"' > C:\Ashish\data\sqlRB.txt

输出: -

git log --pretty=format:--name-only f116bcce5cc0701cb0b5a673bc4ce9f723050f04..2870d215c7201e7cf65c71d4d0e732078b3bda31

1 个答案:

答案 0 :(得分:2)

我不能代表您的Git代码,但是,PetSerAl指出您的--name-only字符串中插入了空格。键入时可以看到:

Write-Output  $StartingHash..$LastHash

Write-Host  $StartingHash..$LastHash

您可以做的是将这些值括在引号中,以便PowerShell将其视为单个字符串,而不会出现任何空格或意外格式。

git log --pretty=format: --name-only "$StartingHash..$LastHash" | ....