我想在我的 bashrc 文件中有一个别名,以附加从终端传递给它的参数。例如:
$ lh300
调用:
alias lh3000='open http://localhost:3000'
但是,如果我输入:
$ lh8080 或 lh 后跟任意数字:
$ lh####
我想调用一个将#### 附加到别名中的函数,该别名将
'open http://localhost:####'
我怎样才能做到这一点?
我想在我的 bashrc 文件中有一个别名,以附加从终端传递给它的参数。例如:
$ lh300
调用:
alias lh3000='open http://localhost:3000'
但是,如果我输入:
$ lh8080 或 lh 后跟任意数字:
$ lh####
我想调用一个将#### 附加到别名中的函数,该别名将
'open http://localhost:####'
我怎样才能做到这一点?
您将无法使用别名,但您可以创建一个函数:
lh() { open http://localhost:$1; }
然后就这样称呼它lh 3000
。
一个可疑的黑客攻击涉及command_not_found_handle
:
command_not_found_handle () {
if [[ $1 =~ lh([[:digit:]]+) ]]; then
open "http://localhost:$BASH_REMATCH[1]"
fi
}
我相信这需要bash
4 或更高版本。