Quando alguém diz "edite seu arquivo .plist" ou "seu .profile" ou ".bash_profile" etc, isso apenas me confunde. Não faço ideia de onde estão esses arquivos, como criá-los se for necessário fazer isso etc., e também por que parece haver tantos arquivos diferentes (por que? Eles fazem coisas diferentes?)
Então, alguém poderia, por favor, explicar com muita paciência a um usuário anterior do Windows (querendo desesperadamente se familiarizar com o mundo agradável, ainda que inicialmente um tanto confuso do OS X) como fazer isso passo a passo?
Eu preciso que as variáveis sejam definidas tanto para aplicativos GUI quanto para aplicativos de linha de comando e, no momento, é para um script ant que precise das variáveis, mas provavelmente haverá outras necessidades também.
Observe que também tenho o Lion, já que muitas das respostas que você obtém no Google parecem desatualizadas para o Lion ...
Observe também que tenho praticamente zero experiência no uso do terminal. Estou disposto a aprender, mas por favor, explique para um novato ...
fonte
Respostas:
Primeiro, uma coisa a reconhecer sobre o OS X é que ele é construído no Unix. É aqui que entra o .bash_profile. Ao iniciar o aplicativo Terminal no OS X, você obtém um shell bash por padrão. O shell bash vem do Unix e, quando carregado, executa o script .bash_profile. Você pode modificar esse script para que seu usuário altere suas configurações. Este arquivo está localizado em:
Atualização para Mavericks
O OS X Mavericks não usa o environment.plist - pelo menos não para aplicativos do Windows OS X. Você pode usar a configuração launchd para aplicativos em janela. O .bash_profile ainda é suportado, pois faz parte do shell bash usado no Terminal.
Somente Leão e Leão da Montanha
Os aplicativos com janela do OS X recebem variáveis de ambiente do seu arquivo environment.plist. Provavelmente, isso é o que você quer dizer com arquivo ".plist". Este arquivo está localizado em:
Se você fizer uma alteração no arquivo environment.plist, os aplicativos Windows OS X, incluindo o aplicativo Terminal, terão essas variáveis de ambiente definidas. Qualquer variável de ambiente que você definir em seu .bash_profile afetará apenas seus shells bash.
Geralmente, apenas defino variáveis no meu arquivo .bash_profile e não altero o arquivo .plist (ou o arquivo launchd no Mavericks). A maioria dos aplicativos com janelas do OS X não precisa de nenhum ambiente personalizado. Somente quando um aplicativo realmente precisa de uma variável de ambiente específica é que altero o arquivo environment.plist (ou o arquivo launchd no Mavericks).
Parece que o que você deseja é alterar o arquivo environment.plist, em vez do .bash_profile.
Uma última coisa, se você procurar esses arquivos, acho que não os encontrará. Se bem me lembro, eles não estavam na minha instalação inicial do Lion.
Edit: Aqui estão algumas instruções para criar um arquivo plist.
Para editar o arquivo, clique com a tecla Control pressionada para obter um menu e selecione Adicionar linha. Você pode adicionar um par de valores-chave. Para variáveis de ambiente, a chave é o nome da variável de ambiente e o valor é o valor real para essa variável de ambiente.
Depois que o arquivo plist é criado, você pode abri-lo com o Xcode para modificá-lo a qualquer momento.
fonte
~/.bashrc
.~/.bashrc
O arquivo é executado toda vez que você abre um novo shell bash sem login, como xterm / aterm, e~/.bash_profile
é executado apenas com shells de login, ou seja, quando você faz login pela primeira vez no sistema.Seu
.profile
ou.bash_profile
são simplesmente arquivos que estão presentes na sua pasta "home". Se você abrir uma janela do Finder e clicar no nome da sua conta no painel Favoritos, não os verá. Se você abrir uma janela do Terminal e digitarls
para listar arquivos, ainda não os verá. No entanto, você pode encontrá-los usandols -a
o terminal. Ou, se você abrir o seu editor de texto favorito (por exemplo, TextEdit, pois ele vem com o OS X) e clicar em Arquivo-> Abrir, pressione Command+ Shift+ .e clique no nome da sua conta (pasta pessoal), você também os verá. Se você não os vir, poderá criar um no seu editor de texto favorito.Agora, adicionar variáveis de ambiente é relativamente simples e notavelmente semelhante ao Windows conceitualmente. Em sua
.profile
basta adicionar, um por linha, o nome da variável e seu valor como segue:etc.
Se você estiver modificando sua variável "PATH", inclua o PATH padrão do sistema que já foi definido para você:
Agora, aqui está a parte peculiar: você pode abrir uma nova janela do Terminal para que as novas variáveis entrem em vigor ou precisará digitar
.profile
ou.bash_profile
recarregar o arquivo e aplicar o conteúdo ao ambiente atual do Terminal.Você pode verificar se suas alterações entraram em vigor usando o comando "set" no seu Terminal. Basta digitar
set
(ouset | more
se você preferir uma lista paginada) e ter certeza de que o que você adicionou ao arquivo está lá.Quanto à adição de variáveis de ambiente aos aplicativos da GUI, isso normalmente não é necessário e eu gostaria de ouvir mais sobre o que você está especificamente tentando fazer para melhor lhe dar uma resposta.
fonte
. .profile
para carregá-las..profile
. Eu só espiou uma máquina Eu comprei recentemente e eles parecem estar usando.profile
esses dias e não.bash_profile
Aqui estão algumas informações mais específicas sobre a variável PATH no Lion OS 10.7.x:
Se você precisar configurar o PATH globalmente, o PATH será construído pelo sistema na seguinte ordem:
/private/etc/paths
, um caminho por linha/private/etc/paths.d
. Cada arquivo nessa pasta pode conter vários caminhos, um caminho por linha. A ordem de carregamento é determinada primeiro pelo nome do arquivo e, em seguida, pela ordem das linhas no arquivo.setenv PATH
instrução in/private/etc/launchd.conf
, que acrescentará esse caminho ao caminho já incorporado nos itens 1 e 2 (você não deve usar $ PATH para fazer referência à variável PATH que foi criada até agora). Porém, definir o PATH aqui é completamente desnecessário, dadas as outras duas opções, embora este seja o local em que outras variáveis globais do ambiente possam ser definidas para todos os usuários.Esses caminhos e variáveis são herdados por todos os usuários e aplicativos, portanto, são verdadeiramente globais - sair e entrar não redefinirão esses caminhos - são criados para o sistema e criados antes que qualquer usuário tenha a oportunidade de fazer login, portanto, as alterações nesses requisitos exigem que o sistema reinicie para entrar em vigor.
BTW, uma instalação limpa do OS 10.7.x Lion não tem uma
environment.plist
que eu possa encontrar, portanto pode funcionar, mas também pode ser preterida.fonte
paths.d
diferepaths
? Além disso, o primeiro substitui o último?imprime o valor do caminho atual
Então faça
vim ~/.bash_profile
e escrevaaqui você está anexando ao caminho antigo, portanto, preserva o caminho antigo e adiciona seu novo caminho a ele
então faça
isso irá executá-lo e adicionar o caminho
verifique novamente com
fonte
Infelizmente, nenhuma dessas respostas resolveu o problema específico que eu tinha.
Aqui está uma solução simples sem ter que mexer
bash
. No meu caso, estava começandogradle
a funcionar (porAndroid Studio
).Btw, Estas etapas estão relacionadas ao OSX (Mountain Lion 10.8.5)
Execute o seguinte comando:
sudo nano /etc/paths
(ousudo vim /etc/paths
para vim)Abra uma nova janela do terminal e digite:
echo $PATH
Você deve ver o novo caminho anexado ao final do PATH
Eu recebi esses detalhes deste post:
http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q
Espero que possa ajudar outra pessoa
fonte
Explicação simplificada
Esta postagem / pergunta é meio antiga, então responderei uma versão simplificada para usuários do OS X Lion. Por padrão, o OSX Lion não possui nenhum dos seguintes arquivos:
No máximo, se você tiver feito alguma coisa no terminal, poderá ver ~ / .bash_history
O que significa
Você deve criar o arquivo para definir seus comandos bash padrão (geralmente em ~ / .bashrc). Para fazer isso, use qualquer tipo de editor, embora seja mais simples fazê-lo dentro do terminal:
source ~/.bashrc
Ctrl + x Ctrl + s
(para salvar o arquivo)Ctrl + x Ctrl + c
(para fechar o emacs)Na próxima vez que você sair e recarregar o terminal, ele deverá carregar todas as suas preferências do bash. Para uma boa medida, geralmente é uma boa ideia separar seus comandos em nomes de arquivos úteis. Por exemplo, dentro de ~ / .bashrc, você deve ter um
source ~/.bash_aliases
e colocar todos os seus comandos de alias em ~ / .bash_aliases.fonte
O que funcionou para mim é criar um
.launchd.conf
com as variáveis que eu precisava:Este arquivo é lido pelo launchd no login. Você pode adicionar uma variável 'on the fly' ao launchd em execução usando:
De fato,
.launchd.cond
simplesmente contém comandos launchctl.As variáveis definidas dessa maneira parecem estar presentes nos aplicativos da GUI corretamente.
Se você estiver tentando definir suas variáveis LANG ou LC_ dessa maneira e estiver usando o iTerm2, desabilite a configuração 'Definir variáveis de localidade automaticamente' na guia Terminal do perfil que você está usando. Isso parece substituir as variáveis de ambiente do launchd e, no meu caso, estava configurando um LC_CTYPE quebrado, causando problemas em servidores remotos (que passaram pela variável).
(Porém, o environment.plist ainda parece funcionar no meu Lion. Você pode usar o painel de preferências RCenvironment para manter o arquivo em vez de editá-lo manualmente ou precisar do Xcode. Ainda parece funcionar no Lion, embora sua última atualização seja do Snow Leopard É o meu método preferido pessoalmente.)
fonte
Configure sua variável de ambiente PATH no Mac OS
Abra o programa Terminal (esta está na sua pasta Aplicativos / Utilitários por padrão). Execute o seguinte comando
Isso abrirá o arquivo no seu editor de texto padrão.
Para o ANDROID SDK como exemplo:
Você precisa adicionar o caminho ao diretório de ferramentas e ferramentas da plataforma SDK do Android. No meu exemplo, usarei "/ Development / android-sdk-macosx" como o diretório em que o SDK está instalado. Adicione a seguinte linha:
Salve o arquivo e feche o editor de texto. Execute seu .bash_profile para atualizar seu PATH.
Agora, sempre que você abrir o programa Terminal, o PATH incluirá o SDK do Android.
fonte
Adicionando variáveis de caminho ao OS X Lion
Isso foi bem direto e funcionou para mim, no terminal:
Uma resposta semelhante foi aqui: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516
fonte
cd
sem argumentos oucd ~/
.source .bash_profile
.echo "export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin/mysql" >> .bash_profile
Então o único momento que posso fazermysql -u root -p
é se eu já estiver executando o root. Considerando que eu posso usar emApplications/XAMPP/xamppfiles/bin/mysql -u root -p
qualquer lugar. Tentei as duas abordagens de reinicialização mencionadas: Yaw e @ ephsmith./usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/XAMPP/xamppfiles/bin
. Quando eu não sou raiz eu recebo/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$PATH
variável é específica do usuário (raiz é um usuário).Terminal aberto:
Aplique a alteração no sistema (não é necessário reiniciar o computador):
(Também trabalhe com o macOS Sierra 10.12.1)
fonte
Eu tive um problema com o Eclipse (iniciado como GUI, não a partir de script) no Maverics, que não levou o caminho personalizado. Eu tentei todos os métodos mencionados acima sem sucesso. Finalmente, encontrei a resposta mais simples de trabalho, com base nas dicas daqui :
Vá para a pasta /Applications/eclipse/Eclipse.app/Contents
Edite o arquivo Info.plist com o editor de texto (ou XCode), adicione o dicionário LSEnvironment para a variável de ambiente com o caminho completo . Note que inclui também / usr / bin etc:
Recarregar parâmetros para aplicativo com
Reinicie o Eclipse
fonte
Deixe-me ilustrar você do meu exemplo pessoal de uma maneira muito redundante.
Às vezes, o macOS ou Linux configura automaticamente a variável de ambiente para você, diferente do Windows. Mas esse nem sempre é o caso. Então, vamos verificar. A linha imediatamente após o eco $ JAVA_HOME estaria vazia se a variável de ambiente não estiver configurada. Deve estar vazio no seu caso.
Agora precisamos verificar se temos o arquivo bash_profile. Você viu que no meu caso já temos bash_profile. Caso contrário, temos que criar um arquivo bash_profile.
Crie um arquivo bash_profile.
Verifique novamente para garantir que o arquivo bash_profile esteja lá.
Agora vamos abrir o arquivo bash_profile. O macOS abre usando o programa TextEdit padrão.
Este é o arquivo em que as variáveis de ambiente são mantidas. Se você abriu um novo arquivo bash_profile, ele deve estar vazio. No meu caso, ele já estava definido para a linguagem de programação python e distribuição Anaconda. Agora, preciso adicionar variável de ambiente para Java, que está apenas adicionando a primeira linha. Você deve digitar a primeira linha VERBATIM. APENAS a primeira linha. Salve e feche o TextEdit. Depois feche o terminal.
Abra o terminal novamente. Vamos verificar se a variável de ambiente está configurada.
fonte
Eu segui o caminho idiota. Adicionados ao final do / etc / profile
criou uma pasta / etc / environment cria um arquivo chamado "oracle" ou "tanto faz" e adiciona as coisas que eu precisava definir globalmente.
/ etc $ cat /etc/environments.d/Oracle
fonte
Mais detalhes, que talvez possam ser úteis para alguém:
Devido às minhas próprias explorações, agora sei como definir variáveis de ambiente em 7 de 8 maneiras diferentes. Eu estava tentando enviar um envar para um aplicativo que estou desenvolvendo no Xcode. Defino os envários "rastreadores" usando esses métodos diferentes para me dizer quais os inserem no escopo do meu aplicativo. Abaixo, você pode ver que editar o "esquema" no Xcode para adicionar argumentos funciona, assim como "putenv". O que não o definiu nesse escopo: ~ / .MACOS / environment.plist, plist específico do aplicativo, .profile e adição de uma fase de construção para executar um script personalizado (eu encontrei outra maneira no Xcode [pelo menos] de definir um, mas esqueceu o que chamei de rastreador e não consigo encontrá-lo agora; talvez esteja em outra máquina ...)
GPU_DUMP_DEVICE_KERNEL é 3
GPU_DUMP_TRK_ENVPLIST é (nulo)
GPU_DUMP_TRK_APPPLIST é (nulo)
GPU_DUMP_TRK_DOTPROFILE é (nulo)
GPU_DUMP_TRK_RUNSCRIPT é (nulo)
GPU_DUMP_TRK_SCHARGS é 1
GPU_DUMP_TRK_PUTENV é 1
... por outro lado, se eu entrar no Terminal e disser "set", parece que o único que ele recebe é o do .profile (eu teria pensado que pegaria o environment.plist também, e eu estou Claro, uma vez que vi um segundo envarador de rastreadores no Terminal, então algo provavelmente ficou estranho desde então.
fonte
Etapa 1: abrir
~/.bash_profile
Agora, um editor de texto é aberto:
Etapa 2: o nome da variável deve estar em maiúsculas. neste exemplo, a variável é
NODE_ENV
Etapa 3:
export NODE_ENV=development
Salve e feche.
Reinicie seu sistema.
Feito.
Para verificar a variável env: abra o terminal e digite
fonte
É recomendável verificar o shell do terminal padrão antes de definir qualquer variável de ambiente, através dos seguintes comandos:
Se o seu terminal padrão for / bin / zsh (Z Shell), como no meu caso (prefira o Z Shell pessoalmente), defina essas variáveis de ambiente no arquivo ~ / .zshenv com o seguinte conteúdo (neste exemplo, definindo a variável de ambiente JAVA_HOME , mas o mesmo se aplica a outros):
Da mesma forma, qualquer outro tipo de terminal não mencionado acima, você deve definir a variável de ambiente em seu respectivo arquivo env do terminal.
fonte