odpowiedź jordanma jest nieprawidłowa. /etc/profilenie pochodzi od wszystkich muszli. Jak zauważyłeś, nie pochodzi od csh: tcsh- Nie jestem pewien zsh. Pochodzi z shpochodnych Bourne'a ( ), takich jak Korn Shell ( ksh) i BASH ( bash). cshwykorzystuje /etc/login. Ludzie, którzy używają wyłącznie pochodnych Borne Shell, zwykle zapominają o istnieniu innych powłok. Dodają coś, by /etc/profileoczekiwać, że zastosuje się to do „wszystkich użytkowników”, a następnie są zaskoczeni, gdy dziwny użytkownik powłoki C (a my jesteśmy dziwni) nie ma rzeczy, w których skonfigurowali /etc/profile.
Mimo to ludzie zapominają o istnieniu innych powłok pochodnych Borne Shell. Jeśli używają bashlub ksh, mogą dodawać do nich składnię, /etc/profilektóra nie jest poprawna w powłoce Bourne'a, na przykład definiowanie zmiennej i eksportowanie jej w tym samym wierszu. Potem dostajesz skrypt, który działa #!/bin/shi dusi się w składni. /etc/profilepowinien trzymać się składni kompatybilnej z Bourne Shell.
Podobnie, powinieneś trzymać się go samemu .profile(użyj, .bash_profilejeśli chcesz trochę składni bash) - może to być trochę dodatkowe pisanie, ale jest to dodatkowe pisanie, które robisz za jednym razem. Odnośnik, ${HOME}a nie ~itd. Niektóre smaki Uniksa, zadania cron są uruchamiane sh, każda linia Makefilejest przetwarzana sh, więc jeśli pracujesz nad wieloma odmianami UNIX, naprawdę opłaca się utrzymać .profilekompatybilność powłoki Bourne'a. Jako SysAdmin nie mogę powiedzieć, ile razy pomogłem komuś, ustawiając go tak, .profileaby był zgodny z Bourne Shell.
W Linuksie /bin/shjest linkiem do, /bin/basha kiedy go uruchomisz, wygląda na ścieżkę, która została użyta do jego uruchomienia i (teoretycznie) ogranicza się tylko do rzeczy obsługiwanych przez Bourne Shell. Podobnie viw Linuksie tak naprawdę vimznów się ogranicza. Czasami widzisz funkcje „przenikające”. Czasami vimudawanie vi, vimże virobi , robi coś, co nie obsługuje, ponieważ autorzy vimzapomnieli wyłączyć to w trybie „wstecznej kompatybilności”. Nie zdziwiłbym się, gdyby bashudawanie, że shma takie podobne cechy. Nie zdziwiłbym się, gdyby jakaś funkcja „działała na Borne Shell w systemie Linux”, ale nie w systemie UNIX opartym na systemie V lub BSD (AIX, OpenBSD itp.).
Does it have positive ... and understood.Co próbujesz tu powiedzieć? Zrozumiałem wszystko inne niż ten akapit.