Perguntas sobre 'environment-variables'

Um conjunto de variáveis dinâmicas que podem afetar o comportamento dos processos em execução e o acesso aos recursos.
3
respostas

Qual é a diferença entre SETX e SET em variáveis de ambiente no Windows?

What is the difference between SETX and SET? De acordo com o meu entendimento: Ambos são usados para definir variáveis de ambiente. SETX é para variáveis de usuário. SET é para variáveis de shell.     
19.05.2015 / 14:23
5
respostas

O Prompt de Comando do Windows pesquisa em algum lugar diferente daqueles especificados pela variável PATH ao iniciar programas aplicativos?

Eu tentei o seguinte experimento. Antes de começar, verifiquei a variável PATH do cmd, que tem o seguinte valor: Path=C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemR...
23.08.2018 / 07:18
13
respostas

Por que o Windows não pode manipular uma variável de ambiente no Path?

Meu colega e eu temos estações de trabalho Dell idênticas com o Windows XP Professional x64 edition instalado. A variável de ambiente My Path começa com: %JAVA_HOME%\bin;... A variável Path do meu colega inclui o mesmo diretório, espec...
21.08.2009 / 20:12
3
respostas

Variáveis de ambiente em bash_profile ou bashrc? ______ qstntxt ___

Eu encontrei esta pergunta [blog]: Diferença entre .bashrc e .bash_profile muito útil, mas depois de ver a resposta mais votada (muito bom por sinal), tenho mais perguntas. No final da resposta mais votada e correta, vejo a seguinte declaração:

%bl0ck_qu0te%
  1. Por que é uma má ideia (não estou tentando lutar, só quero entender)?

  2. Se eu quiser definir uma variável de ambiente e adicioná-la ao PATH (por exemplo, JAVA_HOME), onde seria o melhor lugar para colocar a entrada de exportação? em ~ / .bash_profile ou ~ / .bashrc ?

  3. Se a resposta à pergunta número 2 for ~ / .bash_profile , tenho mais duas perguntas:

    3.1. O que você colocaria em ~ / .bashrc ? apenas aliases?

    3.2. Em um shell que não seja de login, acredito que o ~ / .bash_profile não esteja sendo "escolhido".      Se a exportação da entrada JAVA_HOME estava em bash_profile, seria possível executar javac & Comandos java ? Os encontraria no PATH? É essa a razão pela qual alguns  postagens e fóruns sugerem a configuração de JAVA_HOME e similares para ~ / .bashrc ?

    Obrigado antecipadamente.

______ azszpr409192 ___

Em um sistema moderno, não é especialmente comum encontrar os casos em que isso é importante, mas acontece. (Em particular, se você usar operações shell em %code% , como %code% ou o formulário %code% em linha.)

%bl0ck_qu0te%

Você coloca coisas em %code% que não seriam herdadas automaticamente pelas sub-unidades; Isso significa aliases e funções, principalmente, embora às vezes você tenha configurações de variáveis que você não deseja visíveis fora do shell (isso é muito raro). Pode-se argumentar que esses devem ser exportados de alguma forma, mas várias tentativas experimentais se depararam com problemas de compatibilidade com a tentativa de escondê-las dentro do ambiente e foram praticamente abandonadas.

%bl0ck_qu0te%

Você coloca as configurações de ambiente em %code% para que recebam configurações iniciais sãs. Às vezes você vai querer anular estes (muitas vezes isso é feito por ambientes complexos, como Matlab ou Cadence); Se você colocar as configurações de ambiente em %code% , as camadas executadas nesses ambientes perderão as personalizações dos ambientes, e as coisas podem não funcionar adequadamente como resultado. Isso também se aplica se você usar um pacote como os módulos , virtualenv , rvm , etc. para gerenciar múltiplos ambientes de desenvolvimento; colocar suas configurações em %code% significa que você não pode executar o ambiente que deseja no seu editor, mas será forçado a entrar no padrão do sistema.

%bl0ck_qu0te%

Isso está correto; você normalmente quer que o shell inicial seja um shell de login e quaisquer shells iniciados sob esse não sejam shells de login. Se o shell inicial não for um shell de login, você não terá um %code% padrão ou várias outras configurações (incluindo seu exemplo %code% ).

A maioria dos ambientes de desktop iniciados a partir de gerenciadores de exibição (ou seja, a grande maioria dos logins gráficos) não configuram um ambiente de login para toda a área de trabalho, então você é forçado a executar o shell inicial em terminais como um shell de login . Isso causa vários problemas (notadamente que o %code% e os disponíveis para programas executados, por exemplo, painéis, não estão configurados corretamente, porque o painel não é um terminal e não executou %code% ), mas é um compromisso razoável dado que nem sempre é possível executar %code% no ambiente não interativo no início de uma sessão iniciada por um gerenciador de exibição, dependendo de seu conteúdo. Às vezes é sugerido colocar configurações de ambiente em %code% em vez de configurar um shell de login; como discutido acima, isso funciona desde que você não precise sobrescrever esse ambiente e causar quebras estranhas assim que fizer precisar fazer isso.

Recentemente, ajudei a diagnosticar um problema como esse no OS X, no qual um usuário que colocara as configurações em %code% depois começou a usar %code% e perlbrew viu um comportamento estranho, porque os ambientes configurados pelos dois foram "desfeitos" por %code% dentro dos editores e %code% (que no OS X, diferente do Linux, propaga o %code% do usuário para que %code% seja executado pelo shell de root). Antes de tentar usar esses ambientes, não havia problema; ao começar a usá-los, ficaram perplexos com a perda inesperada de suas configurações.

    
______ azszpr409190 ___

para ser honesto, há pouca diferença hoje em dia, apesar do que o guru tinha a dizer.

a questão por trás disso é que hoje em dia nós fazemos login graficamente, e não através de um shell de login. no passado, nós unix usuários gostam de ver um relatório curto do que está acontecendo em um servidor imediatamente após o login - então vamos iniciar o X por linha de comando - este relatório geralmente requer algum tempo para gerar (por exemplo, 10-20 segundos). e depois não queremos ver o mesmo quando começamos, e. xterm. assim a diferença.

hoje em dia eu não acho que a distinção seja importante agora. Eu acho que estes dias se você fonte bashrc em bash_profile ninguém poderia culpá-lo.

observe que isso não se aplica ao macos x (cada terminal.app iniciado é um shell de login)

    
______ azszpr1003123 ___

Bem, sobre "Logins Gráficos", depende de qual * DM você usa ...

Com o GDM (Gnome 3.18) eu tenho isto:

/ etc / gdm / Xsession

%pre%

Então, ~ / .profile é originado no login usando / bin / sh e não / bin / bash

Existem dois casos

  1. / bin / sh está vinculado a / bin / bash , mas é executado no modo "POSIX / Bourne"
  2. / bin / sh é / bin / traço (debian / ubuntu). Mais rápido, mas com menos recursos (suporte ao ShellShock;) )

Assim, o perfil / bin / sh é ~ / .profile e não ~ / .bash_profile, ~ / .zprofile

Este arquivo deve ser usado para configurações "agnóstico do shell" , como variáveis de caminho e ambiente.

NÃO programa executável para interação do usuário somente para login deve ser, mas aqui (cheque, fortuna, etc ...)

o ~ /.* rc é destinado apenas para sessões "interativas" (apelidos, por exemplo ...)

Existe uma diferença entre o bash e o zsh para shells interativos login

fontes bash somente .bash_profile, enquanto fontes zsh na ordem:

  1. ~ / .zprofile
  2. ~ / .zshrc
  3. ~ / zlogin (os aliases definidos em ~ / .zshrc estão disponíveis, no caso de shells "interativos" + "login"

A maneira certa de fazer ~ / .bash_profile foi respondida aqui:

Diferença entre .bashrc e .bash_profile

%pre%

Para ativar o teste (e a criação de perfil), você pode usar isso

~ / .bash_profile:

%pre%

~ / .zprofile:

%pre%

então, para testar:

%pre%

Então, o RVM / virtualenv deve ir em ~ / .profile, IMHO

Mas isso NÃO FUNCIONA , às vezes ...

Por exemplo, virualenvwrapper funciona somente se o shell rodando Xsession é um bash "original" (exportando BASH_VERSION)

Se você estiver em um sistema dash , a variável de ambiente e a configuração de caminho funcionarão, mas a definição da função virualenvwrapper não funcionará porque o script não é compatível com POSIX.

O script não apresenta nenhum erro, mas termina sem nenhuma definição "workon" .

Assim, você pode definir o ambiente disponível em ~ / .profile , apenas para ativar a execução correta do python a partir do cliente iniciado diretamente do X:

%pre%

link

link

Mas para virualenvwrapper você tem duas alternativas:

  1. coloque-o em ~ / .bash_profile ou ~ / .zprofile (ou ~ / .zlogin) quando o terminal atua como shell de login
  2. inclua o script em ~ / .bashrc ou ~ / zshrc

Isso significa que os clientes X (emacs, por exemplo) devem ser iniciados a partir do terminal e não do gráfico!

"Não tenho satisfação ..."

    
___

Eu encontrei esta pergunta [blog]: Diferença entre .bashrc e .bash_profile muito útil, mas depois de ver a resposta mais votada (muito bom por sinal), tenho mais perguntas. No final da resposta mais votada e correta, vejo a seguinte declaração...
06.04.2012 / 06:15
2
respostas

Como incluir a variável de ambiente na linha bash CURL?

Tentando fazer com que a Transmissão notifique quando o download for concluído. Isso funciona: curl -u <my-api-token>: \ -X POST https://api.pushbullet.com/v2/pushes \ --header 'Content-Type: application/json' \ --data-binary '...
04.11.2014 / 03:44
5
respostas

Definindo $ HOME no PowerShell

Como faço para alterar meu diretório pessoal padrão para "C: \ Users \ khornsby" para cada vez que eu abro o powershell? Estou executando o Windows 7. Veja abaixo informações sobre o estado do meu ambiente. Windows PowerShell Copyright (C...
11.12.2009 / 22:02
3
respostas

Como vejo uma lista de todas as variáveis de ambiente atualmente definidas em um terminal bash do Linux?

Em um terminal bash do Linux, muitas vezes há muitas variáveis de ambiente que foram definidas, como $PATH e $HOME . É possível ver todas as variáveis de ambiente que foram definidas? Como?     
03.05.2012 / 23:35
4
respostas

Alternando entre Java 7 e 8 no OS X

Eu instalei o Java-8. Agora eu queria voltar para o Java-7 por padrão, então eu digito ... /usr/libexec/java_home -v 1.7.0_40 --exec java -version /usr/libexec/java_home -v 1.7.0_40 --exec javac -version Mas ainda vejo ... java -versio...
25.09.2013 / 22:13
4
respostas

Maneira mais fácil de alterar variáveis de ambiente no Windows 8? [duplicado]

Eu sei que posso editar minhas variáveis de ambiente no windows 8, indo para Start -> All Apps -> Control panel -> System -> Advanced System Settings -> Advanced -> Environment variables. Mas honestamente, isso...
07.11.2012 / 20:04
3
respostas

Onde eu configuro DYLD_LIBRARY_PATH no Mac OS X, e é uma boa ideia?

Estou tentando instalar um solver escrito em C ++ no meu Mac (OS X), para uso com o código que escrevi no XCode. A documentação do solver diz isso: Be sure to have "." in your DYLD_LIBRARY_PATH in order to run the ready-built exec...
12.05.2011 / 09:24