Questo è il comando envpathp che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
envpath - Operazioni avanzate sulle variabili di percorso
SINOSSI
Esegui questo script con l'opzione "-help" per i dettagli sull'utilizzo.
DESCRIZIONE
Analizza la riga di comando, modifica le variabili di percorso specificate ed esegue le restanti
argomenti. Ci sono due modalità, semplice e Avanzate:
SEMPLICE MODE
La modalità semplice presenta una sintassi alternativa e indipendente dalla piattaforma per specificare i percorsi
in cui il separatore di percorso è "," e le variabili di ambiente possono essere espanse con @NAME@.
Per esempio
envpath PERCORSO=@PERCORSO@,/usr/ucb -- printenv PERCORSO
aggiunge "/usr/ucb" a $PATH ed execs printenv PERCORSO. Il "--" è facoltativo.
Puoi anche specificare anteponendo o aggiungendo rispettivamente "+=" o "=+":
# posiziona /usr/ucb in primo piano
envpath PERCORSO+=/usr/ucb -- printenv PERCORSO
# posiziona /usr/ucb in fondo
envpath PERCORSO=+/usr/ucb -- printenv PERCORSO
La modalità semplice richiede solo questo script; non richiede l'installazione di Env::Path.
AVANZATE MODE
La modalità avanzata fornisce fondamentalmente l'accesso da riga di comando alle funzionalità di Env::Path (vedi),
che deve essere installato. Il flag "-E" seleziona la variabile di percorso su cui operare e altro
i flag specificano le operazioni su di esso. Per esempio
envpath -E PERCORSO UOMO -A / Tmp -R / usr / share / man -N -U -- uomo...
prenderebbe MANPATH, append / Tmp ad esso, rimuovere eventuali riferimenti a "/ usr / share / man", rimuovere
qualsiasi directory inesistente ("-N") e rimuovere le voci ridondanti ("-U") prima dell'esecuzione uomo.
L'opzione -Whece consente i modelli. così
envpath -W "gatto*"
troverebbe tutti i programmi su PATH che corrispondono a cat*.
CASO CHIARO WINKINS
Una grande parte della motivazione per questo script era per l'uso con le build ClearCase; se tu
conosci o ti interessa ClearCase continua a leggere. In genere, durante le build (e non solo con
ClearCase), i pathvar come PATH, CLASSPATH e LD_LIBRARY_PATH devono essere rigorosamente
controllato. Una scelta è forzare i valori statici di questi nell'ambiente durante il
processo di compilazione, un altro è semplicemente richiedere/aspettarsi che gli utenti impostino i propri percorsi in modo appropriato.
Ognuno di questi può portare a sottili errori di build o runtime, tuttavia, e lo rende difficile
nuovi utenti per aggiornarsi poiché il loro ambiente personale deve essere proprio così.
Un'altra scelta comune è usare solo nomi di percorso completi all'interno del Makefile, evitando di fare affidamento
affatto sui percorsi di ricerca. Questo è spesso il modo migliore per andare, ma può sopprimere ClearCase
ammiccanti. Ad esempio, supponiamo che tu stia generando file ascii di qualche tipo con un binario
eseguibile che hai appena creato:
$(INCDIR)/foo.h: $(BINDIR)/foomaker $(BINDIR)/foomaker ...
Il problema è che $(BINDIR) probabilmente contiene una parte della piattaforma come "solaris"
o 'hpux', che rende impossibile fare l'occhiolino nel file foo.h anche su altre piattaforme
anche se è ascii. La stessa cosa potrebbe verificarsi anche con un'utilità predefinita standard
è in posti diversi su piattaforme diverse; "yacc", per esempio, è in / Usr / bin on
Linux e /usr/ccs/bin su Solaris.
Potresti modificare il percorso al volo:
$(INCDIR)/foo.h: $(BINDIR)/foomaker PERCORSO=$(BINDIR)$(SEP)$$PATH foomaker ...
ma questo soffre dello stesso problema: poiché $(BINDIR) e $PATH sono espansi letteralmente
all'interno dello script di build sopprimeranno i winkin. Ecco una soluzione usando envpath:
$(INCDIR)/foo.h: $(BINDIR)/foomaker envpath PERCORSO=@BINDIR@,@PERCORSO@ foomaker ...
Questo nasconde la valutazione di BINDIR e PATH tale che clearmake non vede mai niente ma
i letterali, liberando così il campo per i winkins. Certo envpath è in grado di fare
più di questo, ma è il motivo originale per cui è stato scritto.
Usa envpathp online usando i servizi onworks.net