当我打字时iex -S mix
在 PowerShell 中我收到此错误:
Invoke-Expression : A positional parameter cannot be found that accepts argument 'mix'.
At line:1 char:1
+ iex S mix
+ ~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-Expression], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeExpressionCommand
在“iex”命令之后编写“-S mix”以获得与在 cmd 中键入它相同的效果的正确方法是什么?我相信这是我不理解 PowerShell 语法的一个问题。
问题是iex
是 Powershell 中的别名,缩写为Invoke-Expression
。如果您尝试运行命令iex.exe
, iex.bat
or iex.cmd
,您必须以某种独特的方式指定它:显式(或完整)路径,或者甚至只是添加应用程序的扩展名就足够了。这样,Powershell就不会尝试运行Invoke-Expression
.
Get-Command
可以为您解决此类问题:
PS C:\Dir> Get-Command iex
CommandType Name ModuleName
----------- ---- ----------
Alias iex -> Invoke-Expression
PS C:\Dir> Get-Command cmd
CommandType Name ModuleName
----------- ---- ----------
Application cmd.exe
似乎不可能同时列出命令类型和路径:如果您想查看哪个iex
是哪个,您可以使用以下形式:
PS C:\Dir> Get-Command -All iex -Syntax
Invoke-Expression
C:\windows\iex.bat
您可以在 Microsoft 中找到有关 Powershell 如何决定运行哪个命令的更多信息技术网库 https://technet.microsoft.com/en-us/library/hh848304.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)