Myśl o aliasach jako pseudonimach. Możesz mieć polecenie, które często wykonujesz, ale chcesz je skrócić.
Na przykład często chcesz przejść bezpośrednio do pulpitu w wierszu polecenia, aby to zrobić
alias desktop="cd ~/Desktop"
Od tego momentu po prostu pisz
desktop
w terminalu i wykona cd ~/Desktopdla ciebie.
Funkcje zawierają logikę. W funkcji możesz wykonywać połączenia z kilkoma różnymi programami. Oto prosta funkcja echa
function e {
echo $1
echo $1 $1
echo $1 $1 $1
}
Chociaż może się wydawać podobny do aliasu, gdy go nazwiesz
e Hello
Twoja e () może mieć wiele różnych rzeczy. Powyżej jest uproszczonym przykładem.
Aliasy powinny być zastrzeżone dla prostych przypadków użycia. Przykład osobisty - moje rmpolecenie zastąpiłem w ten sposób
alias rm='trash-put'
Ilekroć zrobię RM, wyśle go do kosza zamiast usuwać z dysku. To służy mojej niezdarności w terminalu, w którym mogę (czasami) przypadkowo usunąć ważny plik.
Funkcje , o których musisz pamiętać, to logika. Zwykle nie używasz funkcji samodzielnej. Byłby to część większego skryptu. Wyobraź sobie skrypt, który przenosi wszystkie twoje pliki i zmienia ich nazwy na ich świniowate wersje łacińskie. Zignoruj to na różne sposoby.
Ale możesz zrobić pętlę przez każdy plik w katalogu i przekazać ścieżkę do funkcji RenameAsPigLatin. Funkcja RenameAsPigLatin może mieć dodatkową logikę obejmującą liczby, w których zdecydujesz, że nazwy plików kończących się liczbami nie powinny być zmieniane.
Natychmiast widać korzyści wynikające z posiadania go jako funkcji. Funkcja może skupić się na zmianie nazwy według twoich dziwnych reguł, podczas gdy reszta skryptu może przechodzić między różnymi katalogami w razie potrzeby.