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

21

我希望在我的bashrc文件中创建一个别名,以便从终端传递参数。例如:

$ lh300

调用:

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

然而,如果我输入:

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

$ lh#### 

我想调用一个函数,将####附加到别名中。
'open http://localhost:####'

我该怎么做?


这个问题应该放在Unix&Linux Stack Exchange吗?https://unix.stackexchange.com/ - Cale Sweeney
2个回答

27

您无法使用别名,但可以创建一个函数:

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

然后只需像这样调用它:lh 3000

3
一个值得怀疑的黑客技巧,涉及到command_not_found_handle:
command_not_found_handle () {
    if [[ $1 =~ lh([[:digit:]]+) ]]; then
        open "http://localhost:$BASH_REMATCH[1]"
    fi
}

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接