2011-08-26 12 views
11

में स्ट्रिंग में एक स्ट्रिंग और एक चर को संयोजित करें, मुझे उपयोगकर्ता के आधार पर फ़ोल्डर को स्वचालित करने के लिए एक एप्पलस्क्रिप्ट लिखना है। एप्पलस्क्रिप्ट संपादक इस त्रुटि को फेंक देता है।सेबस्क्रिप्ट

इस पहचानकर्ता के बाद लाइन का अंत नहीं जा सकता है।

यहां स्क्रिप्ट का हिस्सा जो त्रुटि को फेंक रहा है।

try 
    set short_name to do shell script "whoami" 
    set path to "afp://fileserver.local/Faculty/" & short_name 
    mount volume path as user name short_name 
end try 
+0

मुझे यह जोड़ना चाहिए कि लाइन 3 के अंत में छोटा_नाम हाइलाइट किया गया है। – jeremyjjbrown

+0

एक त्वरित पक्ष नोट: आपको कोई भी त्रुटि दिखाई नहीं देनी चाहिए क्योंकि आपकी स्क्रिप्ट 'try' block में है। – fireshadow52

+0

इस प्रश्न को एक हजार बार देखा गया है और केवल एक बार फिर मतदान किया गया है! – jeremyjjbrown

उत्तर

14

path एक परिवर्तनीय नाम नहीं हो सकता है।

try 
    set short_name to do shell script "whoami" 
    set p to "afp://fileserver.local/Faculty/" & short_name 
    display dialog p 
end try 

ठीक काम करता है।

8

मैं बर्ट्रेंड से सहमत हूं, आपकी समस्या एक चर के रूप में "पथ" का उपयोग करने के साथ है। कुछ शब्दों में सेबस्क्रिप्ट का विशेष अर्थ होता है और इन्हें एक चर के रूप में उपयोग नहीं किया जा सकता है, पथ उनमें से एक है। आप देखेंगे कि जब आप अपना कोड संकलित करते हैं तो पथ अन्य चरों की तरह हरे रंग की बारी नहीं करता है जो यह विशेष है।

यदि आप अभी भी "पथ" का उपयोग करना चाहते हैं, तो वैरिएबल के रूप में आप कर सकते हैं। सेबस्क्रिप्ट में आप "|" डाल सकते हैं वेरिएस्क्रिप्ट को इंगित करने के लिए चर के चारों ओर यह एक चर है। तो यह काम करेगा।

try 
    set short_name to do shell script "whoami" 
    set |path| to "afp://fileserver.local/Faculty/" & short_name 
    mount volume |path| as user name short_name 
end try 

ध्यान दें कि यह तकनीक का उपयोग कर आप वास्तव में जैसे कई शब्दों में एक चर हो सकता है ...

set |the path| to "afp://fileserver.local/Faculty/" & short_name 

एक आखिरी टिप्पणी ... वहाँ से कम उपयोगकर्ता नाम प्राप्त करने के लिए एक विधि है applescript एक व्यक्ति ...

set short_name to short user name of (get system info) 
+0

+1, लेकिन मैं आपके साथ संक्षिप्त उपयोगकर्ता नाम (सिस्टम जानकारी प्राप्त करने के लिए 'लघु_नाम सेट पर असहमत हूं। मेरी मशीन पर इसे चलाने में लगभग 2 सेकंड लगते हैं। –

+0

मैं सहमत हूं (सिस्टम जानकारी प्राप्त करें) बहुत धीमी है। "शैल स्क्रिप्ट" व्हाटमी "" बहुत तेज़ है – jeremyjjbrown

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