什么是“ - <”是什么意思,当你运行powershell?

时间:2011-07-25 13:34:18

标签: powershell teamcity

运行脚本的推荐方法是

powershell.exe -NonInteractive -Command " & some.ps1 "

但是,例如TeamCity PowerShell runner使用:

powershell.exe -NonInteractive -Command - < some.ps1

我不知道“ - &lt;”意味着无法找到有关主题的任何信息。有什么帮助吗?

4 个答案:

答案 0 :(得分:15)

因为通过Windows shell调用powershell.exe,所以它与您在普通命令提示符(cmd.exe)上的情况相同。在那种情况下,<将文件传递给上一个命令的标准输入(stdin)。 powershell.exe的帮助说明如果-Command的值只是-,则从标准输入读取命令文本。

以下是<cmd.exe的更自我文档演示:

processSomeFile.exe outputFileName.ext < intputFile.ext

答案 1 :(得分:1)

  1. 如果Command的值为“ - ”,则从中读取命令文本 标准输入。

  2. &LT;只是标准输出 - &gt; stdin重定向运算符

答案 2 :(得分:0)

我会说执行脚本的推荐方法是使用-File参数:

powershell.exe -NonInteractive -Command -File some.ps1

关于你的问题,'&lt;'字符已保留,无法在PowerShell中使用。

答案 3 :(得分:0)

使用像&gt;这样的I / O运算符和&lt;在bash脚本中意味着您输出到外部文件,即:

echo hello > hello.txt

获取来自外部文件的输入,即:

psql -U test test < script.sql

相同的逻辑应用于windows powershell,您可以获得更多信息HERE