दस्तावेज़ / डॉटफ़ाइल्स को सिम्कलिन डॉटफ़ाइल्स


1

मेरे पास एक सेटअप स्क्रिप्ट है, जो मेरे डॉटफाइल रेपो और मेरे होम डायरेक्टरी के मूल में फाइलों के बीच संबंध बनाती है। सामान्यतया, प्रक्रिया प्रत्येक फ़ाइल के लिए इस तरह दिखती है:

ln -s ~/Documents/Dotfiles/.bash_profile ~/.bash_profile

क्या यह सही दिशा में जुड़ा हुआ है? उदाहरण के लिए, मैं अपने अनुकूलन को बनाए रखने में सक्षम होना चाहता हूं Documentsऔर बस उन्हें इंगित करना चाहता हूं। अधिकांश दस्तावेज़ मैंने पढ़ा है कि एक पारंपरिक यूनिक्स या लिनक्स वातावरण लगता है, इसलिए मुझे यकीन नहीं है कि यह सही है।

मेरे सेटअप स्क्रिप्ट का प्रासंगिक हिस्सा नीचे है

#!/bin/bash

set -e

function makeLinks() {
  ln -s ~/Documents/Dotfiles/.bash_aliases ~/.bash_aliases
  ln -s ~/Documents/Dotfiles/.bash_profile ~/.bash_profile
  ln -s ~/Documents/Dotfiles/.bash_prompt ~/.bash_prompt
  ln -s ~/Documents/Dotfiles/.gitconfig ~/.gitconfig
  ln -s ~/Documents/Dotfiles/.gitignore_global ~/.gitignore_global

  read -rp "This may overwrite existing files. Are you sure? (y/n) " -n 1;
  echo "";
  if [[ $REPLY =~ ^[Yy]$ ]]; then
    makeLinks
  fi;
}

जवाबों:


1

man ln स्पष्ट रूप से कहते हैं:

ln [-Ffhinsv] source_file [target_file]

तो हाँ, आपकी आज्ञा उचित है।

हालांकि, स्क्रिप्ट विषम है। makeLinksकभी भी आह्वान नहीं किया जाता है और पुष्टिकरण के लिए पूछ रहा संकेत सिर्फ पुनरावृत्ति का कारण होगा। आप शायद इसे फंक्शन डेफिनिशन के बाहर रखें।


आह, देखना चाहिए था कि। मैंने इसे अपडेट किया है और अब संकेत मिलता है कि वास्तव में लिंक बनाने के लिए या नहीं, जो कि मैंने (खराब) करने की कोशिश की है :)
क्रिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.