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/.test
Oder, 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 $ENV
Variablen wie folgt verwenden:
echo $ENV
Antwort2
Ihre .test
Datei 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 .test
Datei hat echo "something"
als .bash
Inhalt ENV=$(. /home/braiam/.test)
:
$ cat .bash
ENV=$(. /home/braiam/.test)
$ cat .test
echo "something"