如何在 PowerShell 中使用 "ri" 作为 Ruby 索引而不是 Remove-Item

How to use "ri" in PowerShell for Ruby Index instead of Remove-Item

当我输入 "ri" 时,PowerShell 默认设置认为它是 "Remove-Item" 的别名 - 如何使用 ri 命令调用 "R"uby "I"索引?

我试过 cd'ing 到 C:\Ruby22 并输入:

rdoc --all --ri

这成功安装了 gems 等,但 ri 仍然存在 'remove item'。我搜索了网络和 Ruby 文档。发现这个:http://samuelmullen.com/2012/01/up-and-running-with-ruby-interactive-ri/ 我在 powershell 命令行中输入了这些:

gem install rdoc rdoc-data
rdoc-data --install

但是当我输入 "ri" 时,powershell 仍然认为它是 "Remove-Item"

作为临时措施,我复制了这些文件:

C:\Ruby22\bin\ri

C:\Ruby22\bin\ri.bat

并将它们重命名为:

C:\Ruby22\bin\rr

C:\Ruby22\bin\rr.bat

现在我可以在 Powershell 中输入 "rr" 并获得 Ruby "r"uby "i"ndex 的功能。此外,如评论中所述,ri 适用于 DOS 提示符下的 Ruby 索引。

如何更改 Powershell 中现有的 "ri" 命令?

如果您的 PowerShell 禁用了脚本执行,则需要几个步骤才能将 PShell 设置为使用 "ri" 作为启动 Ruby 索引的命令而不是别名来启动删除项目。

1) 如果您已有 PowerShell 配置文件,请跳过此步骤:

New-Item $profile -force -itemtype file

...如果你不这样做,这个文件将在你的文档目录中生成: C:\Users\User_Name\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

2) 然后打开您的个人资料进行编辑:

notepad $profile

...如果是新的,它应该是空白的。

3) 添加以下行:

del alias:ri -force

4) 保存文件,关闭记事本并使用以下命令加载新的配置文件设置:

. $profile

...或者只需关闭并打开 Powershell 以应用配置文件。

注意:如果 Powershell 已禁用脚本执行,这当然是不够的...并且只有计算机上的管理员组的成员才能更改执行策略,因此:

1) 使用 "Run as Administrator" 选项启动 PowerShell(我只知道如何从“开始”菜单中的 PowerShell 图标子菜单执行此操作...)

2) 通过输入启用 运行 未签名的脚本:

set-executionpolicy remotesigned

这将允许 运行 您在本地计算机上编写的未签名脚本和来自 Internet 的签名脚本。注意:根据我对 PowerShell 的了解,强烈建议不要将执行策略设置为 "unrestricted"。开心!