¿Cómo ejecutar .profile desde un archivo .bashrc?

¿Cómo ejecutar .profile desde un archivo .bashrc?

Tengo un nombre de archivo .test con una declaración de eco. Ahora quiero ejecutar este archivo desde el archivo .bashrc. Lo que he hecho hasta ahora es:

Mi archivo .test contiene:

echo "hello everyone"

Mi archivo .bashrc contiene:

echo "hello world"

Ahora lo que quiero es ejecutar el archivo .test desde el archivo .bashrc y esto es lo que hice

En el archivo .bashrc

echo "hello world"
ENV=$(/home/narwen/.test)
echo $ENV

Ahora, cuando intento ejecutar el archivo .bashrc desde un mensaje como este

. .bashrc

yo obtengo

Hola Mundo

y errores como este

XAUTHORITY=/home/niraj/.Xauthority
_=/usr/bin/env
=

¿Alguien puede ayudarme por favor?

Respuesta1

Solo usa:

. /path/to/.test

o:

source /path/to/.test

O, si desea mantener la salida de . /path/to/.testen una variable ENV, utilice:

ENV=$(. /path/to/.test)

Por lo tanto, no utilice espacios alrededor de las =tareas.

Y luego, puedes usar $ENVuna variable como:

echo $ENV

Respuesta2

Su .testarchivo se está ejecutando como un script. En su lugar, es posible que necesites bifurcar un shell para aplicar la variable ENV al shell:

$ . .bash
$ echo $ENV
something
$

Mi .testarchivo tiene echo "something"como contenido y .bashtiene ENV=$(. /home/braiam/.test):

$ cat .bash
ENV=$(. /home/braiam/.test)
$ cat .test
echo "something"

información relacionada