【问题标题】:Can I create an alias that has a param?我可以创建一个有参数的别名吗?
【发布时间】:2013-09-10 12:28:32
【问题描述】:

我希望缩短打字时间:

rails g controller --skip-helper --skip-assets --skip-views --skip-template-engine c6

其中c6 是控制器名称。

我希望能够输入 railsgbc c6 # note: gbc=generate basic controller

我试过了:

$ alias railsgc='rails g controller --skip-helper --skip-assets --skip-views --skip-template-engine'                                            

但是当我尝试使用它时,我得到:

$ railsgc play5
No value provided for required arguments 'name'

这实际上和我输入的一样:

$ rails g controller --skip-helper --skip-assets --skip-views --skip-template-engine c6                                                         
No value provided for required arguments 'name'

所以看来我不能把论点放在最后,它需要紧跟在controller之后...

【问题讨论】:

    标签: ruby-on-rails linux controller generator alias


    【解决方案1】:

    无法创建支持参数的别名。您可以做的是创建一个函数。将其添加到~/.bashrc 即可。

    例如,进行备份:

    f_bk () {
            cp -p $1 $1.$(date "+%Y%m%d")
    }
    

    在你的情况下,如果你想在最后一个单词之后添加一些东西,那么这可以使它:

    myrails () {
        rails g controller --skip-helper --skip-assets --skip-views --skip-template-engine $1
    }
    

    并调用它,例如:

    myrails c8
    

    请注意,$1 将是第一个参数,$2 是第二个参数,依此类推。

    【讨论】:

    • 为什么要创建别名?您可以直接调用该函数。
    猜你喜欢
    • 2014-08-26
    • 2017-02-26
    • 2012-01-17
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多