2013-03-04 17 views
8

Mi piacerebbe avere un alias nel mio file bashrc per aggiungere l'argomento passato dal terminale. Per esempio:Come creare una funzione in bashrc per accettare argomenti?

$ lh300 

chiamate:

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

Tuttavia, se di tipo I:

$ lh8080 o LH seguito da un qualsiasi numero:

$ lh#### 

vorrei chiama una funzione che aggiunge il #### in un alias che sarà

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

Come posso fare questo?

risposta

13

Non sarà in grado di utilizzare un alias, ma è possibile creare una funzione:

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

Poi, proprio come lo chiamano lh 3000.

2

Un hack discutibile che coinvolge command_not_found_handle:

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

Questo richiede bash 4 o versione successiva, credo.

Problemi correlati