Zadanie tego pytania zajęło mi prawie 10 lat użytkowania Linuksa. To wszystko było próbą i błędem oraz losowym surfowaniem po Internecie w późnych godzinach nocnych.
Ale ludzie nie powinni potrzebować na to 10 lat. Gdybym dopiero zaczynał od Linuksa, chciałbym wiedzieć: kiedy do aliasu, kiedy do skryptu, a kiedy do napisania funkcji?
Jeśli chodzi o aliasy, używam ich do bardzo prostych operacji, które nie wymagają argumentów.
alias houston='cd /home/username/.scripts/'
To wydaje się oczywiste. Ale niektórzy to robią:
alias command="bash bashscriptname"
(i dodaj go do .bashrc
pliku)
Czy jest na to dobry powód? Bardzo się staram, ale naprawdę nie mogę wymyślić żadnych okoliczności, w których chciałbym to zrobić. Tak więc, jeśli istnieje przypadek skrajny, w którym miałoby to znaczenie, odpowiedz poniżej.
Ponieważ właśnie tam po prostu umieściłem coś w mojej ŚCIEŻCE i chmod +x
to, co jest kolejną rzeczą, która pojawiła się po latach prób i błędów Linuksa.
Co prowadzi mnie do następnego tematu. Na przykład dodałem ukryty folder ( .scripts/
) w katalogu domowym do mojej ŚCIEŻKI, po prostu dodając wiersz do mojego .bashrc
( PATH=$PATH:/home/username/.scripts/
), aby wszystko, co można tam wykonać, automatycznie się uzupełnia.
Gdybym musiał.
Tak naprawdę nie potrzebuję tego, prawda? Użyłbym tego tylko dla języków, które nie są powłoką, takich jak Python.
Jeśli jest to powłoka, mogę po prostu napisać funkcję wewnątrz tego samego .bashrc
:
funcname () {
somecommand -someARGS "$@"
}
Jak powiedziałem, wiele z tego znalazłem na zasadzie prób i błędów. I naprawdę naprawdę widziałem piękno funkcji, gdy zmarł mój komputer, i byłem zmuszony korzystać z komputerów ludzi wokół mnie, gdy z nich nie korzystali.
Zamiast przenosić cały katalog skryptów z komputera na komputer, w końcu po prostu zastąpiłem .bashrc innych użytkowników własnym, ponieważ nigdy nawet nie dokonali żadnej modyfikacji.
Ale czy coś mi umknęło?
Co byś powiedział początkującemu użytkownikowi systemu Linux o tym, kiedy należy alias, kiedy wykonać skrypt, a kiedy napisać funkcję?
Jeśli nie jest to oczywiste, zakładam, że osoby, które odpowiedzą na to pytanie, skorzystają ze wszystkich trzech opcji. Jeśli używasz tylko aliasów lub tylko skryptów lub tylko funkcji - lub jeśli używasz tylko aliasów i skryptów lub aliasów i funkcji lub skryptów i funkcji - to pytanie nie jest skierowane do Ciebie.