Superuser

Autor Thema: TMPDIR= in postinstall bei paketbau?  (Gelesen 5878 mal)

23r0

  • Gast
TMPDIR= in postinstall bei paketbau?
« am: 13. Juni 2009, 21:56:00 »
Hallo,

eine Frage. Habe von einem Kollegen den Paketbau einer Software übernommen. Habe nun festgestellt daß er im postinstall script rege von TMPDIR=$shellscriptstatement gebrauch macht. Er meinte die Ausführung würde Probleme bereiten ohne den TMPDIR= Prefix. Mh - mir begegnet das zum ersten Mal -  und ich kann auch nichts gescheites zum Thema im Netz finden. Mir ist der Paketbau Mechanismus (also was da tatsächlich im Hintergrund low-level passiert) nicht bis ins letzte Detail bekannt. Also - kann mir jemand sagen was es mit diesem TMPDIR Dingens auf sich hat? Spontan, auf den ersten Blick, wäre ich der Meinung er setzt immer wieder die Variable TMPDIR neu - ohne tatsächlich das nachfolgende Statement auszuführen, aber anscheinend wird es eben doch ausgeführt?


sonnenblen.de - Das unabhängige Sun User Forum

TMPDIR= in postinstall bei paketbau?
« am: 13. Juni 2009, 21:56:00 »

Offline Ten Little Indyans

  • Sobl Bachelor
  • ***
  • Beiträge: 218
Re: TMPDIR= in postinstall bei paketbau?
« Antwort #1 am: 13. Juni 2009, 22:52:22 »
Habe nun festgestellt daß er im postinstall script rege von TMPDIR=$shellscriptstatement gebrauch macht. Er meinte die Ausführung würde Probleme bereiten ohne den TMPDIR= Prefix.

Zitat von: 23r0
Spontan, auf den ersten Blick, wäre ich der Meinung er setzt immer wieder die Variable TMPDIR neu - ohne tatsächlich das nachfolgende Statement auszuführen, aber anscheinend wird es eben doch ausgeführt?

Ich vermute mal das im konkreten $shellscriptstatement ein Leerzeichen vorhanden ist? Also z.B.
TMPDIR=/tmp mach_was
führt das Statement mach_was aus und setzt in dessen Umgebung die Variable TMPDIR auf /tmp. Im weiteren Verlauf (alle folgenden Statements) hat die Variable ihren vorherigen Wert bzw. gar keinen.

Üblicherweise wird stattdessen die Variable ein Mal exportiert, danach wird sie automatisch in die Umgebung aller aufgerufener Statements vererbt.
TMPDIR=/tmp
export TMPDIR
mach_was