Ito ang command envpathp na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
envpath - Mga advanced na operasyon sa mga variable ng path
SINOPSIS
Patakbuhin ang script na ito gamit ang opsyong "-help" para sa mga detalye ng paggamit.
DESCRIPTION
Pino-parse ang command line, binabago ang tinukoy na (mga) variable ng path, at pinapatupad ang natitira
mga argumento. Mayroong dalawang mga mode, simple at advanced:
SIMPLE MODE
Ang simpleng mode ay nagpapakita ng alternatibo, platform-independent na syntax para sa pagtukoy ng mga landas
kung saan ang path separator ay "," at ang mga variable ng kapaligiran ay maaaring palawakin gamit ang @NAME@.
Halimbawa
envpath PATH=@PATH@,/usr/ucb -- printenv PATH
idinaragdag ang "/usr/ucb" sa $PATH at mga exec printenv PATH. Ang "--" ay opsyonal.
Maaari mo ring tukuyin ang prepending o pagdaragdag sa pamamagitan ng paggamit ng "+=" o "=+" ayon sa pagkakabanggit:
# lugar /usr/ucb sa harap
envpath PATH+=/usr/ucb -- printenv PATH
# lugar /usr/ucb sa likod
envpath PATH=+/usr/ucb -- printenv PATH
Ang simpleng mode ay nangangailangan lamang ng script na ito; hindi ito nangangailangan ng Env::Path na mai-install.
ADVANCED MODE
Ang advanced mode ay karaniwang nagbibigay ng command-line na access sa mga feature ng Env::Path (tingnan),
na dapat i-install. Pinipili ng flag na "-E" ang variable ng path na gagana at iba pa
ang mga flag ay tumutukoy sa mga operasyon dito. Hal
envpath -E MANPATH -A / Tmp -R / usr / share / man -N -U -- tao...
kukuha ng MANPATH, idagdag / Tmp dito, alisin ang anumang mga sanggunian sa "/ usr / share / man", tanggalin
anumang dirs na wala ("-N") at alisin ang mga redundant na entry ("-U") bago tumakbo lalaki.
Ang pagpipiliang -Whence ay nagpapahintulot sa mga pattern. Sa gayon
envpath -W "pusa*"
ay mahahanap ang lahat ng mga programa sa PATH na tumutugma sa pusa*.
CLEARCASE WINKINS
Ang isang malaking bahagi ng pagganyak para sa script na ito ay para sa paggamit sa ClearCase build; kung ikaw
alam o nagmamalasakit sa ClearCase basahin sa. Karaniwan, sa panahon ng mga build (at hindi lamang sa
ClearCase), ang mga pathvar gaya ng PATH, CLASSPATH, at LD_LIBRARY_PATH ay dapat na mahigpit
kinokontrol. Ang isang pagpipilian ay upang pilitin ang mga static na halaga ng mga ito sa kapaligiran sa panahon ng
proseso ng pagbuo, isa pa ay ang kailangan lang/asahan ang mga user na itakda ang kanilang mga landas nang naaangkop.
Ang bawat isa sa mga ito ay maaaring humantong sa banayad na build o runtime error, gayunpaman, at ginagawa itong mahirap para sa
ang mga bagong user upang makakuha ng bilis dahil ang kanilang personal na kapaligiran ay dapat na ganoon din.
Ang isa pang karaniwang pagpipilian ay ang paggamit lamang ng buong mga pathname sa loob ng Makefile, pag-iwas sa pagtitiwala
sa mga landas sa paghahanap sa lahat. Madalas na ito ang pinakamahusay na paraan ngunit maaaring sugpuin ang ClearCase
winkins. Halimbawa, sabihin nating bumubuo ka ng mga ascii file ng ilang uri na may binary
executable na kakagawa mo lang:
$(INCDIR)/foo.h: $(BINDIR)/foomaker $(BINDIR)/foomaker ...
Ang problema dito ay ang $(BINDIR) ay malamang na naglalaman ng isang bahagi ng platform tulad ng 'solaris'
o 'hpux', na ginagawang imposibleng kumindat sa foo.h file sa ibang mga platform kahit na
kahit na ito ay ascii. Ang parehong bagay ay maaaring makabuo kahit na may isang karaniwang pre-built na utility
iyon ay sa iba't ibang lugar sa iba't ibang platform; Ang "yacc", halimbawa, ay nasa / usr / bin on
Linux at /usr/ccs/bin sa Solaris.
Maaari mong baguhin ang landas sa mabilisang:
$(INCDIR)/foo.h: $(BINDIR)/foomaker PATH=$(BINDIR)$(SEP)$$PATH foomaker ...
ngunit ito ay dumaranas ng parehong problema: dahil literal na pinalawak ang $(BINDIR) at $PATH
sa loob ng build script ay pipigilan nila ang mga winkin. Narito ang isang solusyon gamit envpath:
$(INCDIR)/foo.h: $(BINDIR)/foomaker envpath PATH=@BINDIR@,@PATH@ foomaker ...
Itinatago nito ang pagsusuri ng BINDIR at PATH na ganoon clearmake walang nakikita kundi
ang mga literal, kaya nililinis ang field para sa mga winkin. Syempre envpath ay kayang gawin
higit pa rito, ngunit ito ang orihinal na dahilan kung bakit ito isinulat.
Gumamit ng envpathp online gamit ang mga serbisyo ng onworks.net