Как запустить .profile из файла .bashrc?

Как запустить .profile из файла .bashrc?

У меня есть имя файла .test с оператором echo. Теперь я хочу запустить этот файл из файла .bashrc. Что я сделал до сих пор:

Мой файл .test содержит:

echo "hello everyone"

Мой файл .bashrc содержит:

echo "hello world"

Теперь мне нужно запустить файл .test из файла .bashrc, и вот что я сделал

В файле .bashrc

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

Теперь, когда я пытаюсь запустить файл .bashrc из командной строки, как здесь

. .bashrc

я получил

Привет, мир

и такие ошибки

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

Кто-нибудь может мне помочь?

решение1

Просто используйте:

. /path/to/.test

или:

source /path/to/.test

Или, если вы хотите сохранить вывод . /path/to/.testв переменной ENV, то используйте:

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

Поэтому, пожалуйста, не используйте пробелы вокруг =заданий.

А позже вы можете использовать $ENVпеременную, например:

echo $ENV

решение2

Ваш .testфайл выполняется как скрипт. Вместо этого вам может потребоваться разветвить оболочку, чтобы применить переменную ENV к оболочке:

$ . .bash
$ echo $ENV
something
$

Мой .testфайл имеет echo "something"следующее .bashсодержимое ENV=$(. /home/braiam/.test):

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

Связанный контент