Tenho vários projetos que exigem que eu mude as versões do Java / Grails / Maven. Estou tentando lidar com isso com alguns scripts que fazem as alterações. Por exemplo:
#!/bin/sh
export JAVA_HOME=/cygdrive/c/dev/Java/jdk1.5.0_22
export PATH=$JAVA_HOME/bin:$PATH
export GRAILS_HOME=/cygdrive/c/dev/grails-1.0.3
export PATH=$GRAILS_HOME/bin:$PATH
export MAVEN_HOME=/cygdrive/c/dev/apache-maven-2.0.11
export PATH=$MAVEN_HOME/bin:$PATH
which java
which grails
which mvn
Quando isso é executado, ele altera com êxito o PATH no contexto do script, mas o script termina e nenhuma alteração foi realizada.
Como posso executar um script para alterar o PATH do shell no qual estou trabalhando atualmente?
Estou usando o Cygwin.
fonte
source
funciona apenas parabash
. Saída paraksh
:/bin/ksh: source: not found
parash
:sh: 0: source: not found
. A resposta abaixo deve ser considerada para essas conchas.bash
centralizada.Você pode fazer isso usando a fonte incorporada:
Alguns shells fornecem um alias chamado source :
fonte
instalado o Chocolatey @ unix, você pode simplesmente executar o RefreshEnv para obter variáveis de ambiente atualizadas na sua sessão atual
detalhe
fonte