Criação de Variaveis de Ambiente
Caros, preciso criar a seguinte variaável de ambiente: INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin No SARGE eu colocava dentro do .bashrc e com o comandou source (source /root/.bashrc) resolvia o problema. No ETCH ja tentei até no /etc/profiles (export INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin) e nao da certo. Alguem pode me ajudar. Att. -- Leandro Moreira Linux Networking Telefone: +55 (32) 9197-7909 E-mail/MSN: [EMAIL PROTECTED] www.leandromoreira.eti.br -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Criação de Variaveis de Ambiente
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 05/27/2007 10:50 PM, Leandro Moreira wrote: > Caros, > preciso criar a seguinte variaável de ambiente: > > INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin > > No SARGE eu colocava dentro do .bashrc e com o comandou source (source > /root/.bashrc) resolvia o problema. > No ETCH ja tentei até no /etc/profiles (export > INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin) > e nao da certo. Alguem pode me ajudar. Se você quer uma variável para *todo* o ambiente, ou seja, todos os usuários, pode usar o arquivo /etc/environment Abraço, - -- Felipe Augusto van de Wiel (faw) "Debian. Freedom to code. Code to freedom!" -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGWlijCjAO0JDlykYRAsVWAKCy6S/wEkYkVCJet/EW5XkNCBCJcACeKFta EiFmthFtSn5oEfJG16PyUbo= =MO49 -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Criação de Variaveis de Ambiente
Felipe, Preciso criar uma variavel HOME para o java (INSTALL4J_JAVA_HOME) essa variavel e pra que o sistema como um todo reconheças os binários do jre (/usr/src/jre1.6.0/bin) mas nao esta fucnionando pois a variavel INSTALL4J_JAVA_HOME esta setada no sistema, mas nao consigo acessar os binários do java, quanto eu digito export, a variavel esta perfeita. Você teria alguma sugestão de como posso corrigir isso? Att. Felipe Augusto van de Wiel (faw) escreveu: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 05/27/2007 10:50 PM, Leandro Moreira wrote: Caros, preciso criar a seguinte variaável de ambiente: INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin No SARGE eu colocava dentro do .bashrc e com o comandou source (source /root/.bashrc) resolvia o problema. No ETCH ja tentei até no /etc/profiles (export INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin) e nao da certo. Alguem pode me ajudar. Se você quer uma variável para *todo* o ambiente, ou seja, todos os usuários, pode usar o arquivo /etc/environment Abraço, - -- Felipe Augusto van de Wiel (faw) "Debian. Freedom to code. Code to freedom!" -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGWlijCjAO0JDlykYRAsVWAKCy6S/wEkYkVCJet/EW5XkNCBCJcACeKFta EiFmthFtSn5oEfJG16PyUbo= =MO49 -END PGP SIGNATURE- -- Leandro Moreira Linux Networking Telefone: +55 (32) 9197-7909 E-mail/MSN: [EMAIL PROTECTED] www.leandromoreira.eti.br -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Criação de Variaveis de Ambiente
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [ Por favor, não faça top-post ] On 05/28/2007 08:39 PM, Leandro Moreira wrote: > Felipe Augusto van de Wiel (faw) escreveu: > On 05/27/2007 10:50 PM, Leandro Moreira wrote: preciso criar a seguinte variaável de ambiente: INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin No SARGE eu colocava dentro do .bashrc e com o comandou source (source /root/.bashrc) resolvia o problema. No ETCH ja tentei até no /etc/profiles (export INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin) e nao da certo. Alguem pode me ajudar. > > Se você quer uma variável para *todo* o ambiente, ou seja, > todos os usuários, pode usar o arquivo /etc/environment > > Felipe, > Preciso criar uma variavel HOME para o java (INSTALL4J_JAVA_HOME) essa > variavel e pra que o sistema como um todo reconheças os binários do jre > (/usr/src/jre1.6.0/bin) mas nao esta fucnionando pois a variavel > INSTALL4J_JAVA_HOME esta setada no sistema, mas nao consigo acessar os > binários do java, quanto eu digito export, a variavel esta perfeita. > Você teria alguma sugestão de como posso corrigir isso? Eu não entendi o problema. A variável HOME aponta para diretório pessoal do usuário. Você disse que a variável INSTALL4J_JAVA_HOME está definida mas você não consegue acessar os binários, só que a variável que diz onde está os binários é a PATH. Abraço, - -- Felipe Augusto van de Wiel (faw) "Debian. Freedom to code. Code to freedom!" -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGW4ndCjAO0JDlykYRAoR/AJ4mN6cnf9ik3fwX6WeXvevTgAt/IgCfWR67 bZt0VpXZxbxI04U0oqlqWIA= =/TF5 -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Criação de Variaveis de Ambiente
On 5/28/07, Felipe Augusto van de Wiel (faw) <[EMAIL PROTECTED]> wrote: > Felipe, > Preciso criar uma variavel HOME para o java (INSTALL4J_JAVA_HOME) essa > variavel e pra que o sistema como um todo reconheças os binários do jre > (/usr/src/jre1.6.0/bin) mas nao esta fucnionando pois a variavel > INSTALL4J_JAVA_HOME esta setada no sistema, mas nao consigo acessar os > binários do java, quanto eu digito export, a variavel esta perfeita. > Você teria alguma sugestão de como posso corrigir isso? Eu não entendi o problema. A variável HOME aponta para diretório pessoal do usuário. Você disse que a variável INSTALL4J_JAVA_HOME está definida mas você não consegue acessar os binários, só que a variável que diz onde está os binários é a PATH. Sim, é isto Felipe, falta definir este caminho para o PATH. Porém acho um tanto complicado algumas definições no GNU. Por exemplo, altero o PATH no /etc/profile, não funciona no Bash, altera no Bash não funciona no login em modo texto. Ao mesmo tempo em que o GNU lhe permite escolher o que usar, para mim, inciante fica um tanto confuso. Por fim, como não consigui ainda compreender quais arquivos e porque alterar para ter efeito em todo sistema GNU, faço o seguinte. Crio as variaveis JAVA_HOME e JRE_HOME em /etc/environment. Como descompaco o jdk.bin em /opt, crio um link simbolico: ln -s /opt/jdk1.6.0_01/ /opt/java Depois crio outro link para um diretório que já esteja no PATH ln -s /opt/java/bin/* /usr/local/bin/ O primeiro link crio, pois como os updates do java fazem nova instalação, só preciso recriar o link /opt/java. Além disto fica fácil utilizar várias versões java. Leandro, vc poderia informar a Debian qual java está utilizando, isto pode lhe ser útil, como no caso o Ooo.org que ainda usa 1.4.2 #update-alternatives --install /usr/bin/java java /opt/java/bin/java 1 #update-alternatives --set java /opt/java/bin/java O que não entendo é do pq a alteração da PATH no /etc/profile não afeta o Bash. E do Bash não afeta o ALT+F2 (Executar) do Gnome. Outra é quando faço o login em modo texto, onde estou entrando? Pois as variaveis bash.bashrc não funcionam, então suponho que não seja no Bash, como no Terminal do Gnome. Obrigado pelo tempo. Abraço, - -- Felipe Augusto van de Wiel (faw) "Debian. Freedom to code. Code to freedom!" Zandre.
Re: Criação de Variaveis de Ambiente
Felipe, Obrigado pela atenção, consegui resolver o problema, estava usando o pacote jre da sum, encontrei um pacote similar nos fontes do apt, instale-o e o problema resolveu. Mais uma ves lhe sou grato pela atenção. Att. -- Leandro Moreira Linux Networking Telefone: +55 (32) 9197-7909 E-mail/MSN: [EMAIL PROTECTED] - Original Message From: d-u-p To: d-u-p Subject: Re: Criação de Variaveis de Ambiente Date: 28/05/07 22:06 > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > [ Por favor, não faça top-post ] > > On 05/28/2007 08:39 PM, Leandro Moreira wrote: > > Felipe Augusto van de Wiel (faw) escreveu: > > On 05/27/2007 10:50 PM, Leandro Moreira wrote: > > >>>> preciso criar a seguinte variaável de ambiente: > >>>> INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin > >>>> > >>>> No SARGE eu colocava dentro do .bashrc e com o comandou source (source > >>>> /root/.bashrc) resolvia o problema. > >>>> No ETCH ja tentei até no /etc/profiles (export > >>>> INSTALL4J_JAVA_HOME="/usr/src/jre1.6.0/bin:/sbin/:/usr/sbin/:/bin:/usr/bin) > >>>> > >>>> e nao da certo. Alguem pode me ajudar. > > > > Se você quer uma variável para *todo* o ambiente, ou seja, > > todos os usuários, pode usar o arquivo /etc/environment > > > > Felipe, > > Preciso criar uma variavel HOME para o java (INSTALL4J_JAVA_HOME) essa > > variavel e pra que o sistema como um todo reconheças os binários do jre > > (/usr/src/jre1.6.0/bin) mas nao esta fucnionando pois a variavel > > INSTALL4J_JAVA_HOME esta setada no sistema, mas nao consigo acessar os > > binários do java, quanto eu digito export, a variavel esta perfeita. > > Você teria alguma sugestão de como posso corrigir isso? > > Eu não entendi o problema. > > A variável HOME aponta para diretório pessoal do usuário. Você > disse que a variável INSTALL4J_JAVA_HOME está definida mas você não > consegue acessar os binários, só que a variável que diz onde está os > binários é a PATH. > > Abraço, > > - -- > Felipe Augusto van de Wiel (faw) > "Debian. Freedom to code. Code to freedom!" > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.6 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFGW4ndCjAO0JDlykYRAoR/AJ4mN6cnf9ik3fwX6WeXvevTgAt/IgCfWR67 > bZt0VpXZxbxI04U0oqlqWIA= > =/TF5 > -END PGP SIGNATURE- > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > > VHCS Webmail -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Criação de Variaveis de Ambiente
On 5/29/07, Tiago Dias <[EMAIL PROTECTED]> wrote: Em 29/05/07, Zandre Bran < [EMAIL PROTECTED]> escreveu: > [...] > Sim, é isto Felipe, falta definir este caminho para o PATH. Porém > acho um tanto complicado algumas definições no GNU. Por exemplo, > altero o PATH no /etc/profile, não funciona no Bash, altera no Bash > não funciona no login em modo texto. Ao mesmo tempo em que o GNU lhe > permite escolher o que usar, para mim, inciante fica um tanto confuso. > > Por fim, como não consigui ainda compreender quais arquivos e > porque alterar para ter efeito em todo sistema GNU, faço o seguinte. > Crio as variaveis JAVA_HOME e JRE_HOME em /etc/environment. > [...] > O que não entendo é do pq a alteração da PATH no /etc/profile não > afeta o Bash. E do Bash não afeta o ALT+F2 (Executar) do Gnome. Outra > é quando faço o login em modo texto, onde estou entrando? Pois as > variaveis bash.bashrc não funcionam, então suponho que não seja no > Bash, como no Terminal do Gnome. > Você já verificou se comando export no Shell teve algum parâmetro alterado, pois no Etch é o bash 3. Com base em tua resposta, com mais termos para pesquisa percebi que Bash e Shell é a mesma coisa. Ao menos pelo pude ler o Bash é um Shell do GNU (http://www.gnu.org/software/bash/), como temos também o Shell do Windows. Entre outras opções de Shell para GNU temos o tcsh. Sendo o "padrão" do shell para a maioria das distros GNU é o bash. Então parto do principío que ao fazer o login em modo texto também entro no bash, já que é o shell padrão. O que não entendo é porque ao alterar a PATH no /etc/profile não afeta gnome-terminal e se altero no /etc/bash.bashrc não afeta do login em modo texto. O que faz-me concluir que para ter a variável PATH alterada para os dois ambientes (modo texto e gnome-terminal), tenho que alterar o PATH em /etc/profile (para modo texto) e /etc/bash.bashrc (para o gnome-terminal). Lendo os arquivos vejo que os dois (profile e bash.bashrc) tem a mesma declaração da PATH. É isto que não estou compreendendo. O que é de quem! Quanto ao export citado em tua resposta, penso estar falando das váriaveis de ambiente. Mas estas já estão claras que o lugar é em /etc/environment (obrigado Felipe). Aqui qualquer alteração tem resultado no gnome-terminal e no modo texto. Poderia refazer a resposta por favor? Obrigado pelo tempo, Zandre.
Re: Criação de Variaveis de Ambiente
Olá, talvez aqui tenha alguma informação que possa ajudar no entendimento do comportamente de login e das variáves de ambiente. Este texto que vou colocar foi retirado do guia do focalinux (http://focalinux.cipsga.org.br/guia/intermediario/ch-pers.htm#s-pers-profile) __ Arquivo /etc/profile Este arquivo contém comandos que são executados para todos os usuários do sistema no momento do login. Somente o usuário root pode ter permissão para modificar este arquivo. Este arquivo é lido antes do arquivo de configuração pessoal de cada usuário (.profile(root) e .bash_profile). Quando é carregado através de um shell que requer login (nome e senha), o bash procura estes arquivos em seqüência e executa os comandos contidos, caso existam: 1. /etc/profile 2. ~/.bash_profile 3. ~/.bash_login 4. ~/.profile Ele interrompe a pesquisa assim que localiza o primeiro arquivo no diretório do usuário (usando a sequência acima). Por exemplo, se você tem o arquivo ~/.bash_login e ~/.bash_profile em seu diretório de usuário, ele processará o /etc/profile e após isto o ~/.bash_profile, mas nunca processará o ~/.bash_login (a menos que o ~/.bash_profile seja apagado ou renomeado). Caso o bash seja carregado através de um shell que não requer login (um terminal no X, por exemplo), o seguinte arquivo é executado: ~/.bashrc. Observação: Nos sistemas Debian, o profile do usuário root está configurado no arquivo /root/.profile. A razão disto é porque se o bash for carregado através do comando sh, ele fará a inicialização clássica deste shell lendo primeiro o arquivo /etc/profile e após o ~/.profile e ignorando o .bash_profile e .bashrc que são arquivos de configuração usados somente pelo Bash. Exemplo, inserindo a linha mesg y no arquivo /etc/profile permite que todos os usuários do sistema recebam pedidos de talk de outros usuários. Caso um usuário não quiser receber pedidos de talk, basta somente adicionar a linha mesg n no arquivo pessoal .bash_profile. __ Abraço. Fabiano. Em Ter, 2007-05-29 às 12:45 -0300, Zandre Bran escreveu: > On 5/29/07, Tiago Dias <[EMAIL PROTECTED]> wrote: > > Em 29/05/07, Zandre Bran < [EMAIL PROTECTED]> escreveu: > > > [...] > > > Sim, é isto Felipe, falta definir este caminho para o PATH. Porém > > > acho um tanto complicado algumas definições no GNU. Por exemplo, > > > altero o PATH no /etc/profile, não funciona no Bash, altera no Bash > > > não funciona no login em modo texto. Ao mesmo tempo em que o GNU lhe > > > permite escolher o que usar, para mim, inciante fica um tanto confuso. > > > > > > Por fim, como não consigui ainda compreender quais arquivos e > > > porque alterar para ter efeito em todo sistema GNU, faço o seguinte. > > > Crio as variaveis JAVA_HOME e JRE_HOME em /etc/environment. > > > [...] > > > O que não entendo é do pq a alteração da PATH no /etc/profile não > > > afeta o Bash. E do Bash não afeta o ALT+F2 (Executar) do Gnome. Outra > > > é quando faço o login em modo texto, onde estou entrando? Pois as > > > variaveis bash.bashrc não funcionam, então suponho que não seja no > > > Bash, como no Terminal do Gnome. > > > > > > Você já verificou se comando export no Shell teve algum parâmetro alterado, > > pois no Etch é o bash 3. > > Com base em tua resposta, com mais termos para pesquisa percebi > que Bash e Shell é a mesma coisa. Ao menos pelo pude ler o Bash é um > Shell do GNU (http://www.gnu.org/software/bash/), como temos também o > Shell do Windows. Entre outras opções de Shell para GNU temos o tcsh. > Sendo o "padrão" do shell para a maioria das distros GNU é o bash. > > Então parto do principío que ao fazer o login em modo texto também > entro no bash, já que é o shell padrão. O que não entendo é porque ao > alterar a PATH no /etc/profile não afeta gnome-terminal e se altero no > /etc/bash.bashrc não afeta do login em modo texto. O que faz-me > concluir que para ter a variável PATH alterada para os dois ambientes > (modo texto e gnome-terminal), tenho que alterar o PATH em > /etc/profile (para modo texto) e /etc/bash.bashrc (para o > gnome-terminal). Lendo os arquivos vejo que os dois (profile e > bash.bashrc) tem a mesma declaração da PATH. > >É isto que não estou compreendendo. O que é de quem! > > Quanto ao export citado em tua resposta, penso estar falando das > váriaveis de ambiente. Mas estas já estão claras que o lugar é em > /etc/environment (obrigado Felipe). Aqui qualquer alteração tem > resultado no gnome-terminal e no modo texto. > > Poderia refazer a resposta por favor? > > Obrigado pelo tempo, > Zandre. > -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Criação de Variaveis de Ambiente
On 5/29/07, Zandre Bran <[EMAIL PROTECTED]> wrote: [...] Então parto do principío que ao fazer o login em modo texto também entro no bash, já que é o shell padrão. O que não entendo é porque ao alterar a PATH no /etc/profile não afeta gnome-terminal e se altero no /etc/bash.bashrc não afeta do login em modo texto. O que faz-me concluir que para ter a variável PATH alterada para os dois ambientes (modo texto e gnome-terminal), tenho que alterar o PATH em /etc/profile (para modo texto) e /etc/bash.bashrc (para o gnome-terminal). Lendo os arquivos vejo que os dois (profile e bash.bashrc) tem a mesma declaração da PATH. É isto que não estou compreendendo. O que é de quem! Pois é; quem é cego é cego. Tá lá na primeira linha do bash.bashrc # System-wide .bashrc file for interactive bash(1) shells. E em .bashrc # ~/.bashrc: executed by bash(1) for non-login shells. Ou seja, baseado tb na participação do Fabiano Manoel, o bash.bashrc vale para shell sem login que é o caso gnome-terminal. Isto é shell sem login. Ok, agora o q não entendo, sendo o /etc/profile lido, qdo abro um xterm, a leitura do /etc/bash.bashrc sobrepoe o /etc/profile? Pelo visto sim. Mas não deveria, ele poderia adicionar, mas sobrepor principalmente a variavel PATH? Este comportamento do /etc/bash.bashrc de sobrepor o /etc/profile é fato? Ou estou fazendo errado aqui? Obrigado pelo tempo, Zandre.
Re: Criação de Variaveis de Ambiente
On 5/29/07, Zandre Bran <[EMAIL PROTECTED]> wrote: On 5/29/07, Zandre Bran <[EMAIL PROTECTED]> wrote: >[...] > Então parto do principío que ao fazer o login em modo texto também > entro no bash, já que é o shell padrão. O que não entendo é porque ao > alterar a PATH no /etc/profile não afeta gnome-terminal e se altero no > /etc/bash.bashrc não afeta do login em modo texto. O que faz-me > concluir que para ter a variável PATH alterada para os dois ambientes > (modo texto e gnome-terminal), tenho que alterar o PATH em > /etc/profile (para modo texto) e /etc/bash.bashrc (para o > gnome-terminal). Lendo os arquivos vejo que os dois (profile e > bash.bashrc) tem a mesma declaração da PATH. > >É isto que não estou compreendendo. O que é de quem! Pois é; quem é cego é cego. Tá lá na primeira linha do bash.bashrc # System-wide .bashrc file for interactive bash(1) shells. E em .bashrc # ~/.bashrc: executed by bash(1) for non-login shells. Ou seja, baseado tb na participação do Fabiano Manoel, o bash.bashrc vale para shell sem login que é o caso gnome-terminal. Isto é shell sem login. Ok, agora o q não entendo, sendo o /etc/profile lido, qdo abro um xterm, a leitura do /etc/bash.bashrc sobrepoe o /etc/profile? Pelo visto sim. Mas não deveria, ele poderia adicionar, mas sobrepor principalmente a variavel PATH? Este comportamento do /etc/bash.bashrc de sobrepor o /etc/profile é fato? Ou estou fazendo errado aqui? Obrigado pelo tempo, Zandre. Este processo no Debian é mais um mito que fato. Todo mundo acha que é algo mas aé hoje ue não vi ninguém falar com certeza como funciona. Seguindo a lógica, funcionaria assim: /etc/profile - É um arquivo de configurações globais, que tenta ser o mais independente possível de um shell. Ele que exporta variáveis básicas como o PATH para bash, tcsh, ksh e qualquer outro shell. /etc/bash.bashrc - São as opções específicas do bash para a inicialização o shell de escopo global (todos usuários). Ele é lido depois do /etc/profile se tu trabalha com OOP poderia dizer que ele herda os atributos do /etc/profile. ;) $HOME/.bashrc - Mesmo que /etc/bash.bashrc, porém o escopo é o prórpio usuário. (Ele herda de /etc/bash.bashrc, consequentemente herda de /etc/profile) Mais detalhes que isso eu não posso dar, sou usuário do TCSH e customizo este tipo de script desobedecendo descaradamente o padrão da distribução em nome de uma melhor usuabilidade :) A propósito, se tu fizer scripts como o abaixo para chamar tua aplicação pode ser mais conveniente: OBS: Nomes são sugestões. ;) /usr/appenv/vars.sh: #!/bin/sh JAVA_HOME=/usr/lib/java CATALINA_HOME=/usr/local/tomcat PATH=$JAVA_HOME/bin:$PATH /usr/appenv/loadapp1.sh . /usr/appenv/vars.sh # equivale a um import do java ou include() do php java -jar app1.jar E de workarounds a vida continua :) -- Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line.
Re: Criação de Variaveis de Ambiente
Em Ter, 2007-05-29 às 16:56 -0300, Maxwillian Miorim escreveu: > On 5/29/07, Zandre Bran <[EMAIL PROTECTED]> wrote: > > On 5/29/07, Zandre Bran <[EMAIL PROTECTED]> wrote: > > >[...] > > > Então parto do principío que ao fazer o login em modo texto também > > > entro no bash, já que é o shell padrão. O que não entendo é porque ao > > > alterar a PATH no /etc/profile não afeta gnome-terminal e se altero no > > > /etc/bash.bashrc não afeta do login em modo texto. O que faz-me > > > concluir que para ter a variável PATH alterada para os dois ambientes > > > (modo texto e gnome-terminal), tenho que alterar o PATH em > > > /etc/profile (para modo texto) e /etc/bash.bashrc (para o > > > gnome-terminal). Lendo os arquivos vejo que os dois (profile e > > > bash.bashrc) tem a mesma declaração da PATH. > > > > > >É isto que não estou compreendendo. O que é de quem! > > > > Pois é; quem é cego é cego. Tá lá na primeira linha do bash.bashrc > > > > # System-wide .bashrc file for interactive bash(1) shells. > > > >E em .bashrc > > > > # ~/.bashrc: executed by bash(1) for non-login shells. > > > >Ou seja, baseado tb na participação do Fabiano Manoel, o > > bash.bashrc vale para shell sem login que é o caso gnome-terminal. > > Isto é shell sem login. > > > >Ok, agora o q não entendo, sendo o /etc/profile lido, qdo abro um > > xterm, a leitura do /etc/bash.bashrc sobrepoe o /etc/profile? Pelo > > visto sim. Mas não deveria, ele poderia adicionar, mas sobrepor > > principalmente a variavel PATH? > > > > Este comportamento do /etc/bash.bashrc de sobrepor o /etc/profile > > é fato? Ou estou fazendo errado aqui? > > > > Obrigado pelo tempo, > > Zandre. > > Este processo no Debian é mais um mito que fato. Todo mundo acha que é > algo mas aé hoje ue não vi ninguém falar com certeza como funciona. > > Seguindo a lógica, funcionaria assim: > > /etc/profile - É um arquivo de configurações globais, que tenta ser o > mais independente possível de um shell. Ele que exporta variáveis > básicas como o PATH para bash, tcsh, ksh e qualquer outro shell. > > /etc/bash.bashrc - São as opções específicas do bash para a > inicialização o shell de escopo global (todos usuários). Ele é lido > depois do /etc/profile se tu trabalha com OOP poderia dizer que ele > herda os atributos do /etc/profile. ;) > > $HOME/.bashrc - Mesmo que /etc/bash.bashrc, porém o escopo é o prórpio > usuário. (Ele herda de /etc/bash.bashrc, consequentemente herda de > /etc/profile) > > Mais detalhes que isso eu não posso dar, sou usuário do TCSH e > customizo este tipo de script desobedecendo descaradamente o padrão da > distribução em nome de uma melhor usuabilidade :) > > A propósito, se tu fizer scripts como o abaixo para chamar tua > aplicação pode ser mais conveniente: > OBS: Nomes são sugestões. ;) > > /usr/appenv/vars.sh: > > #!/bin/sh > > JAVA_HOME=/usr/lib/java > CATALINA_HOME=/usr/local/tomcat > PATH=$JAVA_HOME/bin:$PATH > > > /usr/appenv/loadapp1.sh > > . /usr/appenv/vars.sh # equivale a um import do java ou include() do php > > java -jar app1.jar > > > E de workarounds a vida continua :) > Olá. lembro que também fiz muita confusão quando precisei instalar o compilador fortran da intel. Olha o que tem na página de manual do bash. ___ When bash is invoked as an interactive login shell, or as a non-inter‐ active shell with the --login option, it first reads and executes com‐ mands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior. When a login shell exits, bash reads and executes commands from the file ~/.bash_logout, if it exists. When an interactive shell that is not a login shell is started, bash reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if these files exist. This may be inhibited by using the --norc option. The --rcfile file option will force bash to read and execute commands from file instead of /etc/bash.bashrc and ~/.bashrc. ___ Para resolver os possíveis problemas fiz o seguinte: Adiciono a variável de ambiente que eu quero tanto no arquivo /etc/profile (para shell de login) e no arquivo /etc/bash.bashrc (para shell sem login). Shell carregados pelo gnome-terminal ou kterminal podem ser configurados para que sejam executados como shell de login. No caso do terminal do gnome é só clicar com o botão direito no terminal escolher "editar perfil padrão" e na aba "título e comando" marcar a opção "executar comando com shell de login". Para finalizar edito o .bash.profile de minha conta para ler o conteúdo do .bashrc (
Re: Criação de Variaveis de Ambiente
Alguns emuladores de terminal têm a opção de serem usados como se fossem um shell com login. Por exemplo, o Xterm que eu utilizo, pode ser executado: xterm +ls para se comportar como um login-shell. Assim não há confusão ou diferenças ao se logar num emulador de terminal no X ou no terminal de verdade (console). Nas configurações do gnome-terminal e do konsole deve haver opções parecidas. O que algumas distribuições fazem é mandar carregar o /etc/profile dentro do /etc/bash.bashrc. Assim o /etc/profile é executado mesmo quando se abre um shel sem login, mas ainda falha quando o usuário executa um shell diferente do bash (por exemplo, quando roda o comando sh explicitamente). Em 29/05/07, Maxwillian Miorim<[EMAIL PROTECTED]> escreveu: On 5/29/07, Zandre Bran <[EMAIL PROTECTED]> wrote: > On 5/29/07, Zandre Bran <[EMAIL PROTECTED]> wrote: > >[...] > > Então parto do principío que ao fazer o login em modo texto também > > entro no bash, já que é o shell padrão. O que não entendo é porque ao > > alterar a PATH no /etc/profile não afeta gnome-terminal e se altero no > > /etc/bash.bashrc não afeta do login em modo texto. O que faz-me > > concluir que para ter a variável PATH alterada para os dois ambientes > > (modo texto e gnome-terminal), tenho que alterar o PATH em > > /etc/profile (para modo texto) e /etc/bash.bashrc (para o > > gnome-terminal). Lendo os arquivos vejo que os dois (profile e > > bash.bashrc) tem a mesma declaração da PATH. > > > >É isto que não estou compreendendo. O que é de quem! > > Pois é; quem é cego é cego. Tá lá na primeira linha do bash.bashrc > > # System-wide .bashrc file for interactive bash(1) shells. > >E em .bashrc > > # ~/.bashrc: executed by bash(1) for non-login shells. > >Ou seja, baseado tb na participação do Fabiano Manoel, o > bash.bashrc vale para shell sem login que é o caso gnome-terminal. > Isto é shell sem login. > >Ok, agora o q não entendo, sendo o /etc/profile lido, qdo abro um > xterm, a leitura do /etc/bash.bashrc sobrepoe o /etc/profile? Pelo > visto sim. Mas não deveria, ele poderia adicionar, mas sobrepor > principalmente a variavel PATH? > > Este comportamento do /etc/bash.bashrc de sobrepor o /etc/profile > é fato? Ou estou fazendo errado aqui? > > Obrigado pelo tempo, > Zandre. Este processo no Debian é mais um mito que fato. Todo mundo acha que é algo mas aé hoje ue não vi ninguém falar com certeza como funciona. Seguindo a lógica, funcionaria assim: /etc/profile - É um arquivo de configurações globais, que tenta ser o mais independente possível de um shell. Ele que exporta variáveis básicas como o PATH para bash, tcsh, ksh e qualquer outro shell. /etc/bash.bashrc - São as opções específicas do bash para a inicialização o shell de escopo global (todos usuários). Ele é lido depois do /etc/profile se tu trabalha com OOP poderia dizer que ele herda os atributos do /etc/profile. ;) $HOME/.bashrc - Mesmo que /etc/bash.bashrc, porém o escopo é o prórpio usuário. (Ele herda de /etc/bash.bashrc, consequentemente herda de /etc/profile) Mais detalhes que isso eu não posso dar, sou usuário do TCSH e customizo este tipo de script desobedecendo descaradamente o padrão da distribução em nome de uma melhor usuabilidade :) A propósito, se tu fizer scripts como o abaixo para chamar tua aplicação pode ser mais conveniente: OBS: Nomes são sugestões. ;) /usr/appenv/vars.sh: #!/bin/sh JAVA_HOME=/usr/lib/java CATALINA_HOME=/usr/local/tomcat PATH=$JAVA_HOME/bin:$PATH /usr/appenv/loadapp1.sh . /usr/appenv/vars.sh # equivale a um import do java ou include() do php java -jar app1.jar E de workarounds a vida continua :) -- Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. -- Krishnamurti Lelis Lima Vieira Nunes
Re: Criação de Variaveis de Ambiente
Respondo nesta do Maxwillian, mas lida a do Fabiano e Krishnamurti. Obrigado. On 5/29/07, Maxwillian Miorim <[EMAIL PROTECTED]> wrote: Este processo no Debian é mais um mito que fato. Todo mundo acha que é algo mas aé hoje ue não vi ninguém falar com certeza como funciona. Seguindo a lógica, funcionaria assim: /etc/profile - É um arquivo de configurações globais, que tenta ser o mais independente possível de um shell. Ele que exporta variáveis básicas como o PATH para bash, tcsh, ksh e qualquer outro shell. /etc/bash.bashrc - São as opções específicas do bash para a inicialização o shell de escopo global (todos usuários). Ele é lido depois do /etc/profile se tu trabalha com OOP poderia dizer que ele herda os atributos do /etc/profile. ;) Para mim está mais que um mito, já está uma história de contos de fada. Agora eu não entendo mais nada, fiz o seguinte, comentei todas as linhas do /etc/profile que definem a PATH, e mesmo assim ao logar, tenho os memos valores. Por favor; não entendo de onde ele está tirando estes valores se no /etc/profile todas as referências ao PATH estão comentados, alguém? Outra é que qualquer inclusão de variavel para a PATH no /etc/profile so vale shell com login, em qualquer terminal sem login necas de piriquiticas. Então percebo que /etc/environment é lido pelo /etc/profile, mas este só aplica em shell com login. Mas as variaveis do environment se aplicam no com e no sem login. Portanto se ainda deixo comentado toda definção de PATH no arquivo /etc/profile e movo a definação da váriavel PATH para o /etc/environment, surpresa, funciona em todo sistema meu path definido. Fantastico né? Então pergunto para eu, pq não deixar a definição da PATH no environment? Há, tem aquelas diretórios sbin. Mas tb não sei pq. Se passo o caminho completo de qualquer arquivo de um sbin, tenho as mesmas respostas se estes estivessem na PATH. Então, ao grupo, porque o PATH não vem definido no environment? Outra é para que serve o diretório /etc/profile.d. Em sistemas baseados na red (q *não* são perfeitos), coloco lá um .sh com uns export de váriaveis e adiciono algo a PATH e funciona para todo sistema. Na Debian é como se não tive-se nada lá. Realmente, Maxwillian, é um mito na forma em que está ou eu não estou entendo absolutamente mais nada (o q não é dificil :-) PS: obrigado pelo ShellScript. Abçs, Zandre.
Re: Criação de Variaveis de Ambiente
Em Ter, 2007-05-29 às 19:48 -0300, Zandre Bran escreveu: > Respondo nesta do Maxwillian, mas lida a do Fabiano e Krishnamurti. > > Obrigado. > > On 5/29/07, Maxwillian Miorim <[EMAIL PROTECTED]> wrote: > > Este processo no Debian é mais um mito que fato. Todo mundo acha que é > > algo mas aé hoje ue não vi ninguém falar com certeza como funciona. > > > > Seguindo a lógica, funcionaria assim: > > > > /etc/profile - É um arquivo de configurações globais, que tenta ser o > > mais independente possível de um shell. Ele que exporta variáveis > > básicas como o PATH para bash, tcsh, ksh e qualquer outro shell. > > > > /etc/bash.bashrc - São as opções específicas do bash para a > > inicialização o shell de escopo global (todos usuários). Ele é lido > > depois do /etc/profile se tu trabalha com OOP poderia dizer que ele > > herda os atributos do /etc/profile. ;) > > Para mim está mais que um mito, já está uma história de contos de > fada. Agora eu não entendo mais nada, fiz o seguinte, comentei todas > as linhas do /etc/profile que definem a PATH, e mesmo assim ao logar, > tenho os memos valores. Por favor; não entendo de onde ele está > tirando estes valores se no /etc/profile todas as referências ao PATH > estão comentados, alguém? Também ainda não entendi 100% como funciona :). O sistema não estaria tirando do arquivo /etc/bash.bashrc, pois não é um shell de login? > Outra é que qualquer inclusão de variavel para a PATH no > /etc/profile so vale shell com login, em qualquer terminal sem login > necas de piriquiticas. Correto! > Então percebo que /etc/environment é lido pelo /etc/profile, mas > este só aplica em shell com login. Mas as variaveis do environment se > aplicam no com e no sem login. Portanto se ainda deixo comentado toda > definção de PATH no arquivo /etc/profile e movo a definação da > váriavel PATH para o /etc/environment, surpresa, funciona em todo > sistema meu path definido. Fantastico né? O arquivo /etc/environment armazena as variáveis de ambiente que são exportadas para todo o sistema, como por exemplo a especificação do idioma das mensagens do sistema, etc. O meu /etc/environment default do debian tem somente LANG="pt_BR.UTF-8" LANGUAGE="pt_BR:pt:en e nada mais. > Então pergunto para eu, pq não deixar a definição da PATH no > environment? Há, tem aquelas diretórios sbin. Mas tb não sei pq. Se > passo o caminho completo de qualquer arquivo de um sbin, tenho as > mesmas respostas se estes estivessem na PATH. Então, ao grupo, porque > o PATH não vem definido no environment? Não sei, mas só acho que ai não seria o lugar indicado para isso :). > Outra é para que serve o diretório /etc/profile.d. Em sistemas > baseados na red (q *não* são perfeitos), coloco lá um .sh com uns > export de váriaveis e adiciono algo a PATH e funciona para todo > sistema. Na Debian é como se não tive-se nada lá. Aqui não tenho esse diretório. > Realmente, Maxwillian, é um mito na forma em que está ou eu não > estou entendo absolutamente mais nada (o q não é dificil :-) > >PS: obrigado pelo ShellScript. > >Abçs, > Zandre. Abraço. Fabiano. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Criação de Variaveis de Ambiente
On 5/29/07, Fabiano Manoel de Andrade <[EMAIL PROTECTED]> wrote: [...] > Então percebo que /etc/environment é lido pelo /etc/profile, mas > este só aplica em shell com login. Mas as variaveis do environment se > aplicam no com e no sem login. Portanto se ainda deixo comentado toda > definção de PATH no arquivo /etc/profile e movo a definação da > váriavel PATH para o /etc/environment, surpresa, funciona em todo > sistema meu path definido. Fantastico né? O arquivo /etc/environment armazena as variáveis de ambiente que são exportadas para todo o sistema, como por exemplo a especificação do idioma das mensagens do sistema, etc. O meu /etc/environment default do debian tem somente LANG="pt_BR.UTF-8" LANGUAGE="pt_BR:pt:en PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sei/la/mais/o/que" e nada mais. Adiciona aí e coloca teus paths persolanizados e comente toda estrura de if do /etc/profile e tb seu export no final e veja que maravilha. Vc edita em só local. >[...] Então, ao grupo, porque > o PATH não vem definido no environment? Não sei, mas só acho que ai não seria o lugar indicado para isso :). Por que não seria o local indicado? Veja, este é indicado para "váriaveis de ambiente que são exportadas para todo o sistema, como por exemplo as especificações do idioma..."; pode-se incluir aqui a varaivel de ambiente PATH. Deve-se mencionar também que com o PATH definido no environment, no Gnome, por exemplo, se pressione ALT+F2 e mando um ControlPanel (painel de controle do Java) ele abre. Em qualquer outra situação mencionada, tanto no profile como no bash.bashrc este fato não ocorre, pois validão somente para o shell. PS: por favor verifique novamente a existencia do diretório /etc/profile.d Absç, Zandre.
Re: Criação de Variaveis de Ambiente
Em Ter, 2007-05-29 às 21:43 -0300, Zandre Bran escreveu: > On 5/29/07, Fabiano Manoel de Andrade <[EMAIL PROTECTED]> wrote: > >[...] > > > Então percebo que /etc/environment é lido pelo /etc/profile, mas > > > este só aplica em shell com login. Mas as variaveis do environment se > > > aplicam no com e no sem login. Portanto se ainda deixo comentado toda > > > definção de PATH no arquivo /etc/profile e movo a definação da > > > váriavel PATH para o /etc/environment, surpresa, funciona em todo > > > sistema meu path definido. Fantastico né? > > > O arquivo /etc/environment armazena as variáveis de ambiente que são > > exportadas para todo o sistema, como por exemplo a especificação do > > idioma das mensagens do sistema, etc. O meu /etc/environment default do > > debian tem somente > > LANG="pt_BR.UTF-8" > > LANGUAGE="pt_BR:pt:en > > PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sei/la/mais/o/que" > > > e nada mais. > >Adiciona aí e coloca teus paths persolanizados e comente toda > estrura de if do /etc/profile e tb seu export no final e veja que > maravilha. Vc edita em só local. > > > >[...] Então, ao grupo, porque > > > o PATH não vem definido no environment? > > > Não sei, mas só acho que ai não seria o lugar indicado para isso :). > > Por que não seria o local indicado? Veja, este é indicado para > "váriaveis de ambiente que são exportadas para todo o sistema, como > por exemplo as especificações do idioma..."; pode-se incluir aqui a > varaivel de ambiente PATH. Não sei! :) Por isso disse que acho , hehe! >Deve-se mencionar também que com o PATH definido no environment, no > Gnome, por exemplo, se pressione ALT+F2 e mando um ControlPanel > (painel de controle do Java) ele abre. Em qualquer outra situação > mencionada, tanto no profile como no bash.bashrc este fato não ocorre, > pois validão somente para o shell. > > PS: por favor verifique novamente a existencia do diretório /etc/profile.d Realmente não tenho ele aqui. Procurando no banco de pacotes do site do debian, somente achei o pacote sysprofile que cria algo parecido (etc/sysprofile.d/00Standard.bash) > Absç, > Zandre. Abraço. Fabiano. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]