• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Environmentvariable setzen und Befehl ausführen

akhnaten

Newbie
Hi,

ich möchte aus einem OOO-macro heraus ein Programm starten und vorher eine Umgebungsvariable setzen. Ungefähr so:
Code:
bash -c "export FOO=bar; echo $FOO"

Das funzt aber nicht, denn die Variable ist im zweiten Teil des Statements nicht gesetzt. Wie geht das?

Gruß akhnaten
 

TeXpert

Guru
das Problem ist u.u. das echo, das echo startet keinen eigenen Prozess... das funktionert auch auf der Shell mit echo nicht immer...

nutze als Test ein eigenes Script
Code:
#!/bin/bash
echo $foo
und schau dann mal, denn prinzipiell passt die Syntax, wenn es nciht in alle Subshells exportiert werden muss, reicht auch schoh ein

Code:
bash -c "FOO=123 ./dosomething"
und für dosomething ist FOO gesetzt.
 
Oben