Domanda

Sto cercando di eseguire il debug di uno script cons, e il problema che sto avendo è che un eseguibile nella mia $PATH non sembra essere situato. In breve:? Può cons trovare eseguibili nel mio percorso

Questo potrebbe sembrare una domanda stupida, dal momento che la FAQ dice

  

Contro non passa l'ambiente dell'utente al bambino processi che si biforca per costruire il software. Tutto ciò che avete bisogno o desidera passare dall'ambiente dell'utente deve essere fatto in modo esplicito.

Non è chiaro per me, tuttavia, che cons non dovrebbe essere in grado di vedere la mia $PATH (quanto sopra è formulata in modo tale che non mi aspetto processi figli di avere accesso a qualsiasi delle variabili d'ambiente). Nell'esecuzione del Construct, $PATH restituisce svuotare ma $ENV{PATH} contiene il percorso.

Non aiuta che io non conosco né cons Perl, quindi non so davvero quello che sto facendo, né dove iniziare la ricerca di ciò che è la causa del problema :) Per quello che vale, lo script che non funziona per me, ma funziona per l'autore originale dello script, si trova qui .

È stato utile?

Soluzione

Per quello che vale, la linea guida nelle FAQ è corretta in quanto qualcosa come questo risolverà il problema:

# A standard construction environment.
$env = new cons(
   ENV => { PATH => $ENV{PATH} }
);

che possono poi essere seguita da, per esempio,

Command $env 'foo', qq(echo =`which tex`=);

per eseguire / installare / costruire / qualunque cosa si sta facendo con lo script cons.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top