A resposta de jordanm está incorreta. /etc/profilenão é obtido por todas as conchas. Como você ressalta, não é obtido por csh: tcsh- não tenho certeza zsh. É originário de shderivados Bourne shell ( ), como Korn Shell ( ksh) e BASH ( bash). cshusos /etc/login. Pessoas que tendem a usar exclusivamente derivados da Borne Shell tendem a esquecer que existem outras conchas. Eles acrescentam algo à /etc/profileexpectativa de que se aplique a "todos os usuários" e ficam surpresos quando o usuário estranho do C Shell (e nós somos um lote ímpar) não tem as coisas em que eles configuraram /etc/profile.
Mesmo assim, as pessoas tendem a esquecer outras conchas derivadas da Borne Shell. Se eles usam bashou ksh, sentem-se à vontade para adicionar uma sintaxe /etc/profileinválida no Bourne Shell, como, por exemplo, definir uma variável e exportá-la na mesma linha. Então você obtém um script que funciona #!/bin/she ele engasga com a sintaxe. /etc/profiledeve seguir a sintaxe compatível com Bourne Shell.
Da mesma forma, você deve cumpri-lo por conta própria .profile(use .bash_profilese quiser alguma sintaxe do bash) - pode ser uma digitação extra, mas é uma digitação extra que você faz todas as vezes. Referência ${HOME}e não ~, etc. Alguns sabores de Unix, tarefas agendadas executar sob sh, cada linha do seu Makefileé processado por sh, por isso, se você está trabalhando em vários sabores de UNIX, que realmente paga para manter seu .profileshell Bourne compatível. Como SysAdmin, não posso lhe dizer quantas vezes ajudei alguém a consertar .profileque ele fosse compatível com o Bourne Shell.
No Linux, /bin/shé um link para /bin/bashe quando você o executa, ele parece o caminho usado para executá-lo e (em teoria) se limita apenas a coisas que o Bourne Shell suporta. Da mesma forma, vino Linux está realmente vim, novamente se limitando. Ocasionalmente, você vê os recursos "sangrar". Ocasionalmente, vimfingir ser vifará algo que vimsuporta isso vinão porque os autores de vimesqueceram de desabilitar isso no modo "vi compatibilidade com versões anteriores". Eu não ficaria surpreso se bashfingir que shtem algumas características semelhantes de "sangrar". Não ficaria surpreso se algum recurso "funcionasse no Borne Shell no Linux", mas não em um UNIX baseado em System V ou BSD (AIX, OpenBSD, etc.).
Does it have positive ... and understood.O que você está tentando dizer aqui ? Eu entendi tudo além desse parágrafo.