powershell字符串中的变量值为null
我正在PowerShell中使用以下代码。不幸的是,它没有拾取powershell字符串中的变量值为null,powershell,Powershell,我正在PowerShell中使用以下代码。不幸的是,它没有拾取$Startinghash和$lastHash值。若我直接传递值,那个么代码运行良好 不工作:- $StartingHash = "f116bcce5cc0701cb0b5a673bc4ce9f723050f04" $LastHash = "2870d215c7201e7cf65c71d4d0e732078b3bda31" git log --pretty=format: --name-only $StartingHash..$La
$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
工作:-
$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
我不能为您的Git代码说话,但正如所指出的,在您的
--仅名称字符串中插入了空格。您可以在键入以下内容时看到:
Write-Output $StartingHash..$LastHash
或
您可以做的是将这些值括在引号中,以便PowerShell将其视为单个字符串,而不使用任何空格或意外格式
git log --pretty=format: --name-only "$StartingHash..$LastHash" | ....
如果绝对不解释为范围运算符。尝试以下操作:write$StartingHash..$LastHash
。它不会产生任何错误。@PetSerAl-Crap。这就是你评论的意思。我的回答正确,但我的假设正确吗wrong@PetSerAL它给出了输出f116bcce5cc0701cb0b5a673bc4ce9f723050f04..2870d215c7201e7cf65c71d4d0e732078b3bda31,它是correct@matt当我说它不工作时,这意味着文件C:\Ashish\data\sqlRB.txt是空的。那么,这个文件的输出是什么呢git log--pretty=format:--name only$StartingHash..$LastHash
或git log--pretty=format:--name only“$StartingHash..$LastHash”
@Mattgit log--pretty=format:--name only”$StartingHash..$LastHash“
在我测试它时起作用。AFAICS您更新的答案是正确的。投票取消删除。@AnsgarWiechers这是否意味着需要引用?可能是进一步过滤和重定向的问题吗?@Matt是的。没有引号:没有输出。带引号:与文本哈希相同的输出。