2011-03-07 13 views
6

में संशोधक मैं लिनक्स में tcsh टर्मिनल का उपयोग कर रहा हूं। दूसरे टर्मिनल में मैं सामान्य रूप से उपयोग किया जाता है मैं कुछ लाइसेंस फ़ाइल के लिए पथ सेट इस प्रकार है:

setenv PATH "$PATH:$MODEL_TECH" 
    set PATH "$PATH:$MODEL_TECH" 
    setenv PATH=("$PATH:$MODEL_TECH") 

लेकिन तब मैं हमेशा मिलती है:

export PATH="$PATH:$MODEL_TECH" 

tcsh खोल इस आदेश को नहीं पहचानता है तो मैं निम्नलिखित की कोशिश की निम्न त्रुटि:

Bad : modifier in $ ($).

कोई भी महान होगा अगर कोई जल्दी से मेरी मदद कर सकता है, तो कुछ संयोजनों की कोशिश की लेकिन कुछ भी काम नहीं करता है।

उत्तर

5

ड्रॉप =

setenv LICENSE_FILE "/usr/local/softwarex/license.dat" 
आदमी पृष्ठ से tcsh के लिए

:

setenv [name [value]] 

    Without arguments, prints the names and values of all environ‐ 
    ment variables. Given name, sets the environment variable name 
    to value or, without value, to the null string. 
2

setenv LICENSE_FILE /usr/local/softwarex/license.dat की कोशिश करो। इसे आपके सिस्टम पर man पृष्ठ में कहीं भी दस्तावेज किया जाना चाहिए, इसलिए man tcsh में पढ़ने का प्रयास करें; tcshbash और दोस्तों से एक बहुत ही अलग जानवर है। यदि किसी कारण से प्रासंगिक man पृष्ठ आपके सिस्टम पर उपलब्ध नहीं है, तो मुझे मिला पहला man tcsh है।

+0

ग्रेट, यह ठीक काम करता है लेकिन ऐसा लगता है कि जब भी मैं पथ स्थापित करना चाहता हूं तब भी समस्याएं हैं, मैंने इसे अपनी पोस्ट में जोड़ा। मुझे फिर एक खराब संशोधक त्रुटि मिलती है। – reinhard

+0

पैथ सेट करने के लिए टीसीएसएच सिंटैक्स sh भिन्नताओं से अलग है। क्या आपके पास टीसीएसएच का उपयोग करने का अच्छा कारण है? जब तक एक * बहुत * आकर्षक कारण नहीं है, तो संभवतः एक sh-variant का उपयोग जारी रखना बेहतर है। –

+0

असुविधाजनक रूप से, मुझे tcsh का उपयोग करना होगा क्योंकि कुछ स्क्रिप्ट बस इस बैश में चल रही है ... – reinhard

5

चर नाम के आसपास घुंघराले ब्रेसिज़ रखो:

setenv PATH ${PATH}:${foo} 

या इस फार्म का उपयोग:

set path = ($path $foo) 
+4

दाएं। csh/tcsh संशोधक के लिए ':' वर्ण का उपयोग करता है; उदाहरण के लिए '$ var: t' आपको फ़ाइल नाम' $ var' की रूट देता है ('जो भी' एक्सटेंशन हटाकर)। यदि आप '$ PATH: $ MODEL_TECH" लिखते हैं तो खोल लगता है कि '$' $ PATH (जिसे यह पहचान नहीं है) के लिए एक संशोधक का हिस्सा है। घुंघराले ब्रेसिज़ नाम को '': '' से अलग करते हैं। 'सेट पथ = ...' फॉर्म संबंधित शैल वैरिएबल '$ पथ' सेट करता है, जो पर्यावरण चर' $ PATH' से जुड़ा हुआ है। अधिक जानकारी के लिए 'आदमी टीसीएसएच'। –

+0

हालांकि कहा नहीं गया है, एक स्पष्ट स्ट्रिंग भी काम करेगा। 'सेटेंव पाथ $ {पथ}:/foo/bar' –

0

एक tcsh पर पथ या किसी वातावरण चर शैल नीचे के रूप में संलग्न किया जा सकता:

setenv PATH $PATH":$NEWPATH" 
-1

यदि यह काम नहीं कर रहा है तो इसका उपयोग करें:

setenv PATH ${PATH}:/.../../../ 
+0

आप मेरा जवाब क्यों वोट देते हैं, सही जवाब है! नीचे देखें – katy

संबंधित मुद्दे