У меня есть имя файла .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"