Відповідь Йордана невірна. /etc/profileвиводиться не всіми оболонками. Як ви зазначаєте, це не є джерелом csh, tcsh- я не впевнений у цьому zsh. Він походить від shпохідних Bourne shell ( ), таких як Korn Shell ( ksh) та BASH ( bash). cshвикористовує /etc/login. Люди, які схильні використовувати виключно похідні Borne Shell, як правило, забувають про існування інших оболонок. Вони додають щось, /etc/profileочікуючи, що це застосується до "всіх користувачів", а потім дивується, коли у непарного користувача C Shell (а у нас це дивна партія) немає речей, які вони налаштовували /etc/profile.
Незважаючи на це, люди, як правило, забувають про інші похідні оболонки Borne Shell. Якщо вони використовують bashабо ksh, вони не соромляться додавати синтаксис до того, /etc/profileщо не відповідає дійсності в Bourne Shell, наприклад скажімо, визначаючи змінну та експортуючи її в той самий рядок. Потім ви отримуєте якийсь сценарій, який це робить, #!/bin/shі він задавлюється синтаксисом. /etc/profileмає дотримуватися сумісного синтаксису Bourne Shell.
Так само вам слід дотримуватися його самостійно .profile(використовуйте, .bash_profileякщо ви хочете трохи синтаксису баш) - це може бути трохи зайвим введенням тексту, але це додаткове введення, яке ви робите все один раз. Довідково, ${HOME}а не ~і т. Д. Деякі аромати Unix, задачі на роботі з хроном, обробляються під shкожним вашим рядком Makefile, обробляється sh, тому якщо ви працюєте в декількох ароматах UNIX, це дійсно платить за те, щоб зберегти .profileсумісність оболонки Bourne. Як SysAdmin, я не можу сказати вам, скільки разів я допомагав комусь, налаштовуючи їх .profileна сумісність Борна Шелла.
В Linux /bin/sh- це посилання на те, /bin/bashі коли ви запускаєте його, він виглядає шляхом, який використовувався для його запуску, і (теоретично) обмежується лише речами, які підтримує Bourne Shell. Так само і viв Linux справді vim, знову обмежує себе. Іноді ви бачите функції, які "кровоточать". Іноді vimприкидаючись vi, що зробить щось, що vimпідтримує viце не тому, що автори vimзабули відключити це в режимі "vi назад" сумісності ". Я не був би здивований, якби bashприкидався, що shмає якісь подібні функції "кровоточити". Не здивуєшся, якщо якась функція "працює на Borne Shell в Linux", але не на UNIX (AIX, OpenBSD тощо) на базі System V або BSD.
Does it have positive ... and understood.Що ви тут намагаєтеся сказати? Я зрозумів усе, крім цього абзацу.