टर्मिनल में सार्वभौमिक पथ


0

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

tl; dr समस्या: मैं चर स्थान कैसे बनाऊँ?

Ex: / Volumes / Time \ Machine / Backups.backupdb / 𝘺 / Users / Users

हर किसी के मैक के लिए X और Y अलग-अलग होने वाले हैं। लोगों के पास अपने मैक और हार्ड ड्राइव के लिए अलग-अलग नाम हैं। मैं एक सार्वभौमिक स्थान कैसे बना सकता हूं? धन्यवाद!

जवाबों:


0

आप ~शॉर्टकट या $HOMEवैरिएबल का उपयोग कर सकते हैं , दोनों उपयोगकर्ता के होम डायरेक्टरी को संदर्भित करते हैं। आप इसे टर्मिनल में चलाकर cd ~या आज़मा सकते हैं cd $HOME, जो आपको अपने होम डायरेक्टरी में ले जाएगा। आप चलाकर सत्यापित कर सकते हैं pwd, जिसे /Users/आपके उपयोगकर्ता नाम के बाद आउटपुट होना चाहिए ।

डेस्कटॉप के लिए, आप उपयोग करेंगे ~/Desktopया $HOME/Desktop


1

आप मशीन का नाम scutil --get ComputerNameऔर बूट वॉल्यूम के नाम के साथ प्राप्त कर सकते हैं

basename "`find -x /Volumes/ -type l`"

ध्यान दें कि ये दोनों एक स्ट्रिंग युक्त रिक्त स्थान को अच्छी तरह से वापस कर सकते हैं। इसलिए आप ऐसा करना चाहते हैं

COMPUTER="`scutil --get ComputerName`"
VOLUME="`basename \"\`find -x /Volumes/ -type l\`\""

फिर

TIMEPATH="/Volumes/Time Machine/Backups.backupdb/$COMPUTER/$VOLUME/Users"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.