有没有办法让 Write-Debug 打印一个空行而不打印 DEBUG:
前任:
写调试`n
Write-Debug `n # 附加参数或命令在这里
写调试`n
输出:>
调试:
调试:
最佳答案
你可以通过像这样创建函数 Write-Debug
来做到这一点:
PS> function Write-Debug {
[cmdletbinding()]
param($message)
if (!$message) {
write-host; return
}
$cmd = get-command -commandType cmdlet Write-Debug
& $cmd $message
}
PS> Write-Debug 'this is test'; Write-Debug; Write-Debug '3rd row'
DEBUG: this is test
DEBUG: 3rd row
如果创建与 cmdlet 同名的新函数,则会隐藏原始 cmdlet,因为 PowerShell 将首先尝试查找名称为
Write-Debug
的函数。如果没有,PowerShell 会尝试查找具有该名称的 cmdlet。 (通常,PowerShell 尝试查找的第一种命令是别名,而不是函数)。关于powershell 写调试空行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3696692/