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

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

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

echo "hello everyone"

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

echo "hello world"

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

В файле .bashrc

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

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

. .bashrc

Я получаю

hello world

и ошибки, подобные этому

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

Может ли кто-нибудь помочь мне, пожалуйста?

1
задан 12 November 2013 в 19:02

1 ответ

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

$ . .bash
$ echo $ENV
something
$

В моем .test файле есть echo "something", а в .bash есть ENV=$(. /home/braiam/.test):

$ cat .bash
ENV=$(. /home/braiam/.test)
$ cat .test
echo "something"
0
ответ дан 24 May 2018 в 15:21
  • 1
    Нет кубиков. Когда вы отправляете файл, этот файл не обязательно должен исполняться. – Radu Rădeanu 12 November 2013 в 18:38
  • 2
    Я попытался предоставить разрешение на выполнение, но все равно получаю тот же результат. – Narwen 12 November 2013 в 18:40
  • 3
    @Narwen использует более позднюю часть ответа Раду, вам нужно разблокировать оболочку, прежде чем вы сможете ее загрузить. Как вы это делаете, это просто выполнение . и .test. – Braiam 12 November 2013 в 18:42

Другие вопросы по тегам:

Похожие вопросы: