2013-03-04 184 views
8

我想在我的bashrc文件中添加一個別名來追加從終端傳遞給它的參數。例如:如何在bashrc中創建一個函數來接受參數?

$ lh300 

電話:

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

但是,如果我輸入:

$ lh8080 或LH後跟任意數量的:

$ lh#### 

我想調用一個將####追加到別名中的函數,該別名將會

'open http://localhost:####' 

我該怎麼做?

回答

13

您將無法使用的別名,但你可以創建一個函數:

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

然後就這樣稱呼它lh 3000

2

一個可疑的黑客攻擊涉及command_not_found_handle

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

這需要bash 4或更高版本,我相信。

相關問題