kon*_*ung 4 powershell alias dotfiles
一点背景:
我使用PowerShell在Windows XP上的工作,我设置了一堆有用的快捷键Microsoft.PowerShell_profile.ps1中My Documents,试图效仿苹果的启发环境瑞恩·贝茨的快捷键
我有类似的东西:
Set-Alias rsc Rails-Console
function Rails-Console {Invoke-Expression "ruby script/console"}
Run Code Online (Sandbox Code Playgroud)
在命令提示符下,我说:
rsc #it calls the proper command
Run Code Online (Sandbox Code Playgroud)
但是这不能正常工作
Set-Alias rsg Rails-Generate
function Rails-Generate {Invoke-Expression "ruby script/generate"}
Run Code Online (Sandbox Code Playgroud)
所以当我这样做时:
rsg model User
Run Code Online (Sandbox Code Playgroud)
应该叫
ruby script/generate model User
Run Code Online (Sandbox Code Playgroud)
所有它都是
ruby script/generate #Dumping my params
Run Code Online (Sandbox Code Playgroud)
那么我如何正确地修改我的函数以获取我发送给函数的参数?
谢谢!!
你的函数没有任何参数,因此没有任何参数通过也就不足为奇了.
你应该像这样写:
function Rails-Generate { ruby script/generate $args }
Run Code Online (Sandbox Code Playgroud)
注意Invoke-Expression这里没必要.PowerShell是一个shell - 直接调用其他程序没有问题.
演示:
PS Home:\> Set-Alias foo Call-Foo
PS Home:\> function Call-Foo { args }
PS Home:\> foo bar baz
argv[0] = Somewhere\args.exe
PS Home:\> function Call-Foo { args $args }
PS Home:\> foo bar baz
argv[0] = Somewhere\args.exe
argv[1] = bar
argv[2] = baz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6294 次 |
| 最近记录: |