为什么我必须按两次 Enter 才能执行 Foreach-Object Cmdlet?
Why do I have to press enter twice to execute the Foreach-Object Cmdlet?
编者注:
* 这个问题归结为:在PowerShell命令行上输入多行命令时,为什么要按回车两次提交了吗? 解释原因。
* 当来自 脚本 的 运行 时,关于同一命令也需要 Enter 击键的部分是基于误解 - 该命令不需要击键,它只是 还是运行宁。
我将对象通过管道传递给 Foreach-Object Cmdlet,我注意到当我从脚本中 运行 它时,它就在那里,当我通过键入 运行 它时我最终不得不在最后一个花括号后按两次 enter 才能让它再次工作。
gci $path -recurse | %{
...
}
echo "test"
有没有办法避免这种情况?这样代码就保持 运行ning?
当您逐行向 PowerShell 命令 window 键入脚本时,它需要一种方法来知道您已完成输入脚本,因此输入空行是提示它 运行 脚本。为避免这种情况,请在同一行中键入所有内容:
gci $path -recurse | %{ $_ } ; echo "test"
编者注:
* 这个问题归结为:在PowerShell命令行上输入多行命令时,为什么要按回车两次提交了吗?
* 当来自 脚本 的 运行 时,关于同一命令也需要 Enter 击键的部分是基于误解 - 该命令不需要击键,它只是 还是运行宁。
我将对象通过管道传递给 Foreach-Object Cmdlet,我注意到当我从脚本中 运行 它时,它就在那里,当我通过键入 运行 它时我最终不得不在最后一个花括号后按两次 enter 才能让它再次工作。
gci $path -recurse | %{
...
}
echo "test"
有没有办法避免这种情况?这样代码就保持 运行ning?
当您逐行向 PowerShell 命令 window 键入脚本时,它需要一种方法来知道您已完成输入脚本,因此输入空行是提示它 运行 脚本。为避免这种情况,请在同一行中键入所有内容:
gci $path -recurse | %{ $_ } ; echo "test"