1 votos

Ejecutar un archivo .sh pero después el nuevo PATH no es visible en el shell

Estoy ejecutando un archivo ./setWLSEnv.sh que tiene la siguiente salida:

http://pastebin.com/sSXRZd1s

    PATH=/Users/cris/Oracle/Middleware/Oracle_Home/wlserver/server/bin:/Users/cris/Oracle/Middleware/Oracle_Home/wlserver/../oracle_common/modules/org.apache.
ant_1.9.2/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/H
ome/jre/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin:
/Users/cris/perl5/perlbrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbi
n:/sbin:/opt/X11/bin:/Users/cris/Oracle/Middleware/Oracle_Home/wlser
ver/../oracle_common/modules/org.apache.maven_3.0.5/bin

Your environment has been set.

PERO cuando voy a la misma terminal y ejecuto

echo PATH sigue teniendo la antigua ruta ...

¿Alguna idea? Gracias

3voto

No puedes ejecutar un script para establecer la ruta en tu shell actual. En tu caso esto no parece ser necesario de todos modos porque todo lo que hace el script es establecer las variables correctas para ejecutar el proceso java al final. Así que dentro de este proceso todas las variables de entorno deberían estar configuradas correctamente.

Para establecer variables en el shell actual, puede establecerlas en .bashrc / .bash_profile y abra un nuevo shell; o duplique su script, elimine la última línea y cree el nuevo script en el shell con . path/to/new/script .

2voto

prometheus Puntos 126

Supongo (por el nombre) que se trata de una configuración del entorno Weblogic script. Normalmente se llama a través del script principal de Weblogic para establecer las rutas antes de iniciar/detener el servidor - pero usted está tratando de establecer las rutas dentro de su propio shell por cualquier razón. Creo que tu problema radica en la forma de ejecutar el script:

./setWLSEnv.sh # will execute the script and do nothing

. ./setWLSEnv.sh # (note starts with a "dot space") 

La segunda línea propuesta debe "originar" el script dentro de su entorno y funcionará

Comprueba por qué esto funcionaría, leyendo "man bash" y busca dentro la definición de "source"

0voto

jherran Puntos 6511

En su archivo, sustituya PATH= con PATH=$PATH: . Esto toma la variable PATH actual y añade todos sus nuevos PATHs.

Añadir export PATH al final del archivo. Esto exporta el PATH anterior con sus cambios.

#!/bin/bash
PATH=$PATH:/Users/cris/Oracle/Middleware/Oracle_Home/wlserver/server/bin:/Users/cristianchiovari/Oracle/Middleware/Oracle_Home/wlserver/../oracle_common/modules/org.apache.ant_1.9.2/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/jre/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin:/Users/cristianchiovari/perl5/perlbrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/cristianchiovari/Oracle/Middleware/Oracle_Home/wlserver/../oracle_common/modules/org.apache.maven_3.0.5/bin
export PATH

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X