मैं कमांड लाइन का उपयोग करके एक .terminal फ़ाइल कैसे आयात कर सकता हूं?


3

मैं अपने मैक वातावरण की स्थापना को स्वचालित करने के लिए एक (बैश) स्क्रिप्ट लिख रहा हूँ और क्या करना चाहते हैं यह केवल कमांड लाइन का उपयोग कर को छोड़कर,। मैं उस थीम को भी डिफ़ॉल्ट बनाना चाहूंगा।

मेरे पास एक .terminal फ़ाइल है जो निर्यात की जाती है और सभी जाने के लिए तैयार है, मैं अभी यह पता नहीं लगा सकता कि यह प्रोग्रामिक रूप से कैसे किया जाए। क्या इसके लिए कहीं एक दस्तावेज है जो मुझे याद आ रहा है?

... या ये AppleScript का उपयोग करना आसान होगा? हालांकि इससे पहले ऐसा कभी नहीं हुआ।


आप इस सेटिंग को शेल से और सीधे भीतर से क्यों बनाना चाहते हैं Terminal?
दान

@danielAzuelos तो मैं इस प्रक्रिया को स्वचालित कर सकता हूं।
मैट

1
इस शेल स्क्रिप्ट को चलाने का इरादा कैसे है? एक से Terminal?
दान

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

→ मैट: क्या आपको यह कॉन्फ़िगरेशन एक से अधिक बार करना होगा (यानी एक से अधिक खातों पर या एक से अधिक कंप्यूटरों पर)?
दान

जवाबों:


1

openवरीयता परिवर्तन के बाद कमांड का प्रयोग करें :

open ~/MyTerminalSettings.terminal
defaults write com.apple.terminal "Default Window Settings" "MyTerminalSettings"

openआदेश आगे एक नया टर्मिनल विंडो खुल जाएगा, लेकिन स्क्रिप्ट मूल विंडो में चलते रहेंगे, और आप नई विंडो जब सुविधाजनक बंद कर सकते हैं।


यह एक टर्मिनल विंडो खोलता है जो रास्ते में मिल सकता है (हालांकि, शायद इसे स्टिफ़ किया जा सकता है) - और यह थीम आयात करता प्रतीत होता है ... लेकिन मैं इसे डिफ़ॉल्ट विषय के रूप में कैसे सेट करूंगा?
मैट

0

यह एक उत्तर नहीं है, लेकिन मूल ईंटों का उपयोग आपको अपनी शेल स्क्रिप्ट लिखने के लिए करना होगा।

  1. यह जाँचें कि Terminalइसके प्लस्ट को दूषित करने से बचने के लिए नहीं चल रहा है:

    if ps कुल्हाड़ी | grep '[/] टर्मिनल'> / देव / अशक्त 2> & 1; फिर
        इको टर्मिनल चल रहा है! > & 2 && से बाहर निकलें 2
    फाई
    # आगे बढ़ें
    

    अपने आदेश [/]से बचने के लिए यहां से सावधान रहें जो हमेशा सफल रहेगा।grepgrep

  2. अपनी Terminalफ़ाइल को टेक्स्ट फ़ाइल में बदलें :

        
    plutil -convert xml1 ~ / पुस्तकालय / वरीयताएँ / com.apple.Terminal.plist
    
  3. अपनी .terminalफ़ाइल को उसके हेडर से स्ट्रिप करें , मान लें कि उसका नाम है imported.terminal

    sed -n '/<dict>/,/<\/dict>/p' imported.terminal >tmp.terminal
  4. इस शब्दकोश को सही शब्दकोष tmp.terminalके ~/Library/Preferences/com.apple.Terminal.plistअंदर डालें ।

    इसे सही करने के लिए कुछ संदर्भ विश्लेषण की आवश्यकता होगी। मैं चुना था perlअगर मैं यह करने के लिए किया था, लेकिन awk, exया sedकुछ लाइनें और परीक्षण के साथ आसान हो सकता है।


2
जबकि आप एक स्क्रिप्ट टर्मिनल :-) में चल रहा है टर्मिनल चल रहा है नहीं करने के लिए एक तरह से मुश्किल हो सकता है
nohillside

मुझे लगा कि मैट ऐसा शेल से करना चाहता है और सीधे टर्मिनल से नहीं क्योंकि वह ऐसा टर्मिनल से नहीं कर रहा है (उदाहरण के लिए ssh)। लेकिन यह स्पष्ट किया जाना चाहिए।
dan

किसी भी तरह से। जो भी आसान है।
मैट

1
जैसा कि पैट्रिक्स ने उल्लेख किया है, एक रास्ता कठिन होगा। Terminalयदि यह कार्य करने वाले शेल को इसी Terminalप्रोग्राम से कांटा जाता है, तो आसानी से प्लिस्ट को संशोधित नहीं किया जा सकता है । कब Terminalसमाप्त होगा, यह इस प्रकार अब तक किए गए सभी संशोधन को अधिलेखित कर देगा। मेरे सुझाए गए कदम का यही कारण था 1.
dan

सच, ठीक, समझा।
मैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.