Wie führe ich .profile aus einer .bashrc-Datei aus?

Wie führe ich .profile aus einer .bashrc-Datei aus?

Ich habe eine Datei mit dem Namen .test mit einer Echo-Anweisung. Jetzt möchte ich diese Datei aus der .bashrc-Datei ausführen. Was ich bisher getan habe, ist:

Meine .test-Datei enthält:

echo "hello everyone"

Meine .bashrc-Datei enthält:

echo "hello world"

Jetzt möchte ich die .test-Datei von der .bashrc-Datei aus ausführen und das habe ich getan

In der .bashrc-Datei

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

Wenn ich nun versuche, die .bashrc-Datei von einer Eingabeaufforderung wie dieser auszuführen

. .bashrc

Ich bekomme

Hallo Welt

und Fehler wie diese

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

Kann mir bitte jemand helfen?

Antwort1

Benutz einfach:

. /path/to/.test

oder:

source /path/to/.test

. /path/to/.testOder, wenn Sie die Ausgabe in einer Variablen behalten möchten ENV, verwenden Sie:

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

Verwenden Sie daher bitte keine Leerzeichen rund um die =Zuweisungen.

Und später können Sie $ENVVariablen wie folgt verwenden:

echo $ENV

Antwort2

Ihre .testDatei wird als Skript ausgeführt. Stattdessen müssen Sie möglicherweise eine Shell forken, um die Variable ENV auf die Shell anzuwenden:

$ . .bash
$ echo $ENV
something
$

Meine .testDatei hat echo "something"als .bashInhalt ENV=$(. /home/braiam/.test):

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

verwandte Informationen