我有一个名为 .test 的文件名,其中包含一个 echo 语句。现在我想从 .bashrc 文件运行此文件。到目前为止,我所做的是:
我的 .test 文件包含:
echo "hello everyone"
我的 .bashrc 文件包含:
echo "hello world"
现在我想要的是从 .bashrc 文件运行 .test 文件,这就是我所做的
在 .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
文件正在作为脚本执行。相反,您可能需要 fork 一个 shell 来将 ENV 变量应用于 shell:
$ . .bash
$ echo $ENV
something
$
我的.test
文件具有以下echo "something"
内容:.bash
ENV=$(. /home/braiam/.test)
$ cat .bash
ENV=$(. /home/braiam/.test)
$ cat .test
echo "something"