यह कमांड envpathp है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
envpath - पथ चर पर उन्नत संचालन
SYNOPSIS
उपयोग विवरण के लिए इस स्क्रिप्ट को "-help" विकल्प के साथ चलाएँ।
वर्णन
कमांड लाइन को पार्स करता है, निर्दिष्ट पथ वेरिएबल को संशोधित करता है, और शेष को निष्पादित करता है
तर्क. दो मोड हैं, सरल और उन्नत:
SIMPLE मोड
सरल मोड पथ निर्दिष्ट करने के लिए एक वैकल्पिक, प्लेटफ़ॉर्म-स्वतंत्र सिंटैक्स प्रस्तुत करता है
जिसमें पथ विभाजक "," है और पर्यावरण चर को @NAME@ के साथ विस्तारित किया जा सकता है।
उदाहरण के लिये
envpath PATH=@PATH@,/usr/ucb -- printenv PATH
$PATH में "/usr/ucb" जोड़ता है और निष्पादित करता है प्रिंटेंव पथ. "--" वैकल्पिक है.
आप क्रमशः "+=" या "=+" का उपयोग करके भी जोड़ना या जोड़ना निर्दिष्ट कर सकते हैं:
# /usr/ucb को सामने रखें
envpath PATH+=/usr/ucb -- printenv पथ
# /usr/ucb को पीछे रखें
envpath PATH=+/usr/ucb -- printenv पथ
सरल मोड के लिए केवल इस स्क्रिप्ट की आवश्यकता होती है; इसे स्थापित करने के लिए Env::Path की आवश्यकता नहीं है।
उन्नत मोड
उन्नत मोड मूल रूप से Env::Path की सुविधाओं तक कमांड-लाइन पहुंच प्रदान करता है (देखें),
जिसे इंस्टॉल करना होगा. "-ई" ध्वज संचालन के लिए पथ चर का चयन करता है और अन्य
झंडे इस पर संचालन निर्दिष्ट करते हैं। जैसे
एनवपथ -ई मनपथ -ए / Tmp -R / usr / शेयर / आदमी -एन-यू--यार...
MANPATH लेगा, संलग्न करें / Tmp इसमें से कोई भी संदर्भ हटा दें "/ usr / शेयर / आदमी", निकालना
कोई भी डीआईआर जो मौजूद नहीं है ("-एन") और चलने से पहले अनावश्यक प्रविष्टियां ("-यू") हटा दें आदमी.
-Whence विकल्प पैटर्न की अनुमति देता है। इस प्रकार
envpath -W "बिल्ली*"
PATH पर वे सभी प्रोग्राम मिलेंगे जो cat* से मेल खाते हैं।
क्लियरकेस विंकिन्स
इस स्क्रिप्ट की प्रेरणा का एक बड़ा हिस्सा ClearCase बिल्ड के साथ उपयोग करना था; यदि आप
ClearCase के बारे में जानें या उसकी परवाह करें, आगे पढ़ें। आमतौर पर, निर्माण के दौरान (और सिर्फ साथ ही नहीं)।
ClearCase), PATH, CLASSPATH, और LD_LIBRARY_PATH जैसे पथवार सख्ती से होने चाहिए
को नियंत्रित। एक विकल्प यह है कि इनके स्थैतिक मूल्यों को पर्यावरण में लागू किया जाए
निर्माण प्रक्रिया, दूसरा यह है कि उपयोगकर्ताओं को अपने पथ उचित रूप से निर्धारित करने की आवश्यकता/अपेक्षा करना है।
हालाँकि, इनमें से प्रत्येक सूक्ष्म निर्माण या रनटाइम त्रुटियों को जन्म दे सकता है, और इसे कठिन बना देता है
नए उपयोगकर्ताओं को गति प्राप्त करने के लिए उनका व्यक्तिगत वातावरण भी वैसा ही होना चाहिए।
एक अन्य सामान्य विकल्प निर्भरता से बचते हुए, मेकफ़ाइल के भीतर केवल पूर्ण पथनामों का उपयोग करना है
बिल्कुल खोज पथ पर. यह अक्सर जाने का सबसे अच्छा तरीका है लेकिन ClearCase को दबा सकता है
विंकिन्स. उदाहरण के लिए, मान लें कि आप बाइनरी के साथ किसी प्रकार की एएससीआई फ़ाइलें उत्पन्न कर रहे हैं
आपके द्वारा अभी बनाया गया निष्पादन योग्य:
$(INCDIR)/foo.h: $(BINDIR)/फूमेकर $(BINDIR)/फूमेकर...
इसके साथ समस्या यह है कि $(BINDIR) में संभवतः 'सोलारिस' जैसा कोई प्लेटफ़ॉर्म भाग शामिल है
या 'hpux', जिससे अन्य प्लेटफ़ॉर्म पर भी foo.h फ़ाइल में विंक करना असंभव हो जाता है
हालाँकि यह एएससीआई है। यही चीज़ मानक पूर्व-निर्मित उपयोगिता के साथ भी आ सकती है
यह अलग-अलग प्लेटफार्मों पर अलग-अलग स्थानों पर है; उदाहरण के लिए, "yacc", में है / Usr / bin on
सोलारिस पर Linux और /usr/ccs/bin।
आप तुरंत पथ को संशोधित कर सकते हैं:
$(INCDIR)/foo.h: $(BINDIR)/foomaker पथ=$(BINDIR)$(SEP)$$PATH फूमेकर ...
लेकिन यह उसी समस्या से ग्रस्त है: चूँकि $(BINDIR) और $PATH का शाब्दिक रूप से विस्तार किया गया है
बिल्ड स्क्रिप्ट के भीतर वे विंकिन्स को दबा देंगे। यहां एक समाधान का उपयोग किया गया है एनवपथ:
$(INCDIR)/foo.h: $(BINDIR)/foomaker envpath PATH=@BINDIR@,@PATH@ foomaker...
इससे BINDIR और PATH का मूल्यांकन ऐसे छुप जाता है क्लीयरमेक लेकिन कभी कुछ नहीं देखता
शाब्दिक अर्थ, इस प्रकार विंकिन्स के लिए मैदान साफ़ हो गया। बिल्कुल एनवपथ करने में सक्षम है
इससे भी अधिक, लेकिन इसे लिखे जाने का मूल कारण यही है।
onworks.net सेवाओं का उपयोग करके ऑनलाइन envpathp का उपयोग करें