la réponse de jordanm est incorrecte. /etc/profilene provient pas de tous les obus. Comme vous le soulignez, il ne provient pas par csh, tcsh- Je ne suis pas sûr zsh. Il provient de shdérivés Bourne shell ( ), comme Korn Shell ( ksh) et BASH ( bash). cshutilise /etc/login. Les personnes qui ont tendance à utiliser exclusivement des dérivés de Borne Shell ont tendance à oublier que d’autres coquilles existent. Ils ajoutent quelque chose à /etc/profileattendre de s’appliquer à «tous les utilisateurs» et sont ensuite surpris lorsque l’utilisateur impair de C Shell (et nous sommes un lot étrange) n’a pas les éléments qu’il a configurés /etc/profile.
Même dans ce cas, les gens ont tendance à oublier qu’il existe d’autres coquilles dérivées de Borne Shell. S'ils utilisent bashou ksh, ils se sentent libres d'ajouter une syntaxe /etc/profilequi n'est pas valide dans Bourne Shell, comme par exemple définir une variable et l'exporter sur la même ligne. Ensuite, vous obtenez un script qui fait #!/bin/shet cela étouffe la syntaxe. /etc/profiledevrait s'en tenir à la syntaxe compatible Bourne Shell.
De même, vous devriez vous en tenir à votre propre .profileusage (à utiliser .bash_profilesi vous voulez une syntaxe bash) - cela peut être un peu de frappe supplémentaire, mais c'est une frappe supplémentaire que vous faites une fois. Référence ${HOME}et non ~, etc. Certaines variantes de tâches Unon, cron s'exécutent sh, chaque ligne de votre Makefileest traitée par sh. Par conséquent, si vous travaillez sur plusieurs versions d'UNIX, il est très utile de garder votre .profileshell Bourne compatible. En tant qu'administrateur système, je ne peux pas vous dire combien de fois j'ai aidé des personnes en les .profilerendant compatibles avec Bourne Shell.
Sous Linux, /bin/shest un lien vers /bin/bashet lorsque vous l'exécutez, il recherche le chemin utilisé pour l'exécuter et (en théorie) se limite aux éléments pris en charge par Bourne Shell. De même, visur Linux se vimlimite vraiment , encore une fois. Parfois, vous voyez des fonctionnalités "saigner à travers". Parfois, vimprétendre être vifera quelque chose qui le vimsupporte, vicar les auteurs de ont vimoublié de le désactiver en mode "compatibilité ascendante vi". Je ne serais pas surpris si vous bashprétendez être shdoté de fonctionnalités similaires. Ne seriez pas surpris si certaines fonctionnalités "fonctionnent sur Borne Shell sous Linux", mais pas sous UNIX basé sur System V ou BSD (AIX, OpenBSD, etc.).
Does it have positive ... and understood.Qu'est-ce que vous essayez de dire ici? J'ai tout compris sauf ce paragraphe.