2013-03-04 9 views
8

Chciałbym mieć alias w moim pliku bashrc, aby dołączyć argument przekazany do niego z terminala. Na przykład:Jak utworzyć funkcję w bashrc, aby akceptować argumenty?

$ lh300 

wzywa:

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

Jednakże, jeśli typ:

$ lh8080 lub LH obserwowani przez dowolną liczbę:

$ lh#### 

chciałbym wywołaj funkcję, która dodaje #### do aliasu, który będzie

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

Jak mogę to zrobić?

Odpowiedz

13

nie będą mogli korzystać z aliasu, ale można utworzyć funkcję:

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

Następnie wystarczy nazwać jak lh 3000.

2

Wątpliwy Hack udziałem command_not_found_handle:

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

Wymaga to bash 4 lub później, wierzę.

Powiązane problemy