Lag et Bash-alias som tar en parameter?
Jeg pleide å bruke CShell ([tag:csh]), som lar deg lage et alias som tar en parameter. Notasjonen var noe sånt som
alias junk="mv \\!* ~/.Trash"
I Bash, dette ser ikke ut til å fungere. Gitt at Bash har en rekke nyttige funksjoner, vil jeg anta at denne har blitt implementert, men jeg lurer på hvordan.
1155
3
Bash-alias aksepterer ikke direkte parametere. Du må opprette en funksjon.
alias
godtar ikke parametere, men en funksjon kan kalles akkurat som et alias. For eksempelForresten, Bash-funksjoner definert i
.bashrc
og andre filer er tilgjengelige som kommandoer i skallet ditt. Så for eksempel kan du kalle den tidligere funksjonen som detteVed å avgrense svaret ovenfor kan du få 1-linjes syntaks som du kan for alias, noe som er mer praktisk for ad hoc-definisjoner i et skall eller .bashrc-filer:
Ikke glem semikolon før den avsluttende høyre parentesen. Det samme gjelder for selve spørsmålet:
Eller:
Her er tre eksempler på funksjoner jeg har i min
~/.bashrc
, som i hovedsak er alias som aksepterer en parameter:.