首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在MinGW中将参数传递给类Unix命令(通过PowerShell )

如何在MinGW中将参数传递给类Unix命令(通过PowerShell )
EN

Stack Overflow用户
提问于 2014-11-10 10:40:19
回答 1查看 893关注 0票数 2

我在我的Windows机器上使用MinGW,当我将它与command-prompt一起使用时,一切都如期而至:

  • ls列出了可见的文件
  • ls -a列出所有文件等

但是,当我启动Powershell时,当我将参数传递给命令时,它会一直抛出错误:

代码语言:javascript
运行
复制
D:\>ls -al .

Get-ChildItem : A parameter cannot be found that matches parameter name 'al'.
At line:1 char:4
+ ls -al .
+    ~~~
  + CategoryInfo : InvalidArgument: (:) [Get-ChildItem], ParameterBindingException
  + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.Powershell.Commands.GetChildItemCommand

如何通过Powershell正确地使用所有MinGW/msys命令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-10 10:46:21

lsget-childitem命令的Powershell中的别名。如果您想运行一个名为ls的外部命令,则需要强制Powershell忽略它自己的ls命令。

您可以尝试运行ls.exe,或者指定MinGW命令的路径,或者取消定义Powershell别名。或者学习使用Powershell自己的ls命令的选项。

ls -al最接近的Powershell将是ls -Force,它将显示所有隐藏的系统文件和ls的默认输出,不过看起来有点像ls -l格式。

您可以使用Powershell的get-command来检查将运行哪个命令,它的工作类似于which (或者使用gcm作为较少输入的缩写:

代码语言:javascript
运行
复制
PS C:\Users\IEUser> get-command ls.exe

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     ls.exe                                             0.0.0.0    C:\Program Files\OpenSSH\bin\ls.exe


PS C:\Users\IEUser> get-command ls

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           ls -> Get-ChildItem

PS C:\Users\IEUser> gcm ls

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           ls -> Get-ChildItem


PS C:\Users\IEUser> gcm ls.exe

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     ls.exe                                             0.0.0.0    C:\Program Files\OpenSSH\bin\ls.exe

如果您不想学习一个新命令:

代码语言:javascript
运行
复制
PS C:\Users\IEUser> set-alias which gcm
PS C:\Users\IEUser> which ls

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           ls -> Get-ChildItem
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26841815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档