如何在bashrc中创建一个接受参数的函数?

时间:2013-03-04 16:56:37

标签: function terminal osx-mountain-lion bash

我想在我的bashrc文件中有一个别名来追加从终端传递给它的参数。例如:

$ lh300

来电:

alias lh3000='open http://localhost:3000'

但是,如果我输入:

$ lh8080 或者lh后跟任何数字:

$ lh#### 

我想调用一个将####附加到

的别名的函数
'open http://localhost:####'

我该怎么做?

2 个答案:

答案 0 :(得分:17)

您将无法使用别名,但您可以创建一个功能:

lh() { open http://localhost:$1; }

然后只需将其称为lh 3000

答案 1 :(得分:3)

涉及command_not_found_handle的可疑黑客:

command_not_found_handle () {
    if [[ $1 =~ lh([[:digit:]]+) ]]; then
        open "http://localhost:$BASH_REMATCH[1]"
    fi
}

我认为这需要bash 4或更高版本。