ड्रॉपबॉक्स में .bash_profile ले जाना


9

मैं अपने सभी मैक पर अपने कस्टम टर्मिनल फ़ंक्शंस उपलब्ध कराने के लिए अपने .bash_profile को ड्रॉपबॉक्स में स्थानांतरित करना चाहता हूं। क्या यह संभव है और क्या इसके संभावित प्रभाव हैं?

उदाहरण के लिए मेरे पास एक जोड़ने और एक बार में करने के लिए एक आदेश है:

function gax() {
    git add .
    git commit -m "$1"
}

मुझे इस बारे में कोई जानकारी नहीं मिल पाई है।


2
मुझे पता है कि आपको पहले ही जवाब मिल गया है, लेकिन यह मुझे ड्रॉपबॉक्स .bash_profile के लिए सिर्फ सॉफ्टलिंक करने के बारे में सोच रहा है। कुछ चीजें सोचने के लिये।
JMY1000

मेरे समाधान के साथ @ JMY1000 आप जिस मशीन पर हैं, उसके आधार पर अतिरिक्त सामान रख सकते हैं - बस ifस्टेटमेंट के बाद कमांड डाल सकते हैं । लेकिन आप सही कह रहे हैं यह एक सहानुभूति भी हो सकती है।
माटूस ज़्लॉज़क

2
ln -s ~/path/to/dropbox/bash_profile_file ~/.bash_profile
2426021684

जवाबों:


18

आपके पास ड्रॉपबॉक्स फ़ोल्डर में अतिरिक्त फ़ाइल हो सकती है और फिर आपकी .bash_profileफ़ाइल के अंदर प्रत्येक मशीन पर यह डाला जा सकता है:

FILE="/path/to/DropboxFolder/shared_bash_profile_file"
if [ -f $FILE ];
then
    source $FILE
fi

5
चूंकि File का उपयोग अन्य ऐप्स के लिए किया जा सकता है और इस तरह, आप रात को "
DROPBOX

4

मुझे लगता है कि रिपॉजिटरी में अपलोड करना बेहतर विचार है। मैं आपको बताता हूं कि मैंने यह कैसे किया।

मैं पूरी ~/binनिर्देशिका संस्करण । मेरी .bash_profileउस निर्देशिका पर है। की $HOME/.bash_profileएक कड़ी है ~/bin/.bash_profile

मेरा .bash_profileऐसा दिखता है:

if [[ $OSTYPE == darwin* ]]; then
    . ~/bin/includes/exports-osx.sh
    . ~/bin/includes/bash-stuff-osx.sh
    . ~/bin/includes/aliases-osx.sh
    . ~/bin/includes/functions-osx.sh
elif [[ $OSTYPE == linux* ]]; then
    . ~/bin/includes/exports-linux.sh
    . ~/bin/includes/terminal-linux.sh
    . ~/bin/includes/aliases-linux.sh
    . ~/bin/includes/ssh-keys-linux.sh
    . ~/bin/includes/bash-stuff-linux.sh
fi

. ~/bin/includes/bash-stuff.sh
. ~/bin/includes/aliases.sh
. ~/bin/includes/powerline.sh
. ~/bin/includes/functions.sh
. ~/bin/includes/work-stuff.sh

इस तरह मैं परिवर्तन ट्रैक को आसान बना सकता हूं।

रेपो अपडेट रखने के लिए आप एक क्रोन या लॉन्चएगेंट स्क्रिप्ट बना सकते हैं ~/binजो दिन में एक बार आपकी निर्देशिका में परिवर्तन को खींचती है:

cd ~/bin && git pull origin $(git name-rev --name-only HEAD)

2
Mateusz द्वारा प्रस्तुत किए गए सरल समाधान पर इसके क्या फायदे होंगे?
स्वीलेट करें

2
@ मेरे विचार से, दो मुख्य लाभ: आप आसानी से एक बिंदु पर परिवर्तन वापस ला सकते हैं और आप हर परिवर्तन का ट्रैक रख सकते हैं।
जहरन

@jherran या आप ड्रॉपबॉक्स फ़ोल्डर में गिट रेपो भी डाल सकते हैं। मुझे लगता है कि हालांकि ड्रॉपबॉक्स में कुछ संस्करण हैं।
pydsigner

2
@pydsigner मुझे ड्रॉपबॉक्स में Git रेपो से परेशानी हुई है। मैं दौड़ की स्थिति का अनुमान लगा रहा हूं क्योंकि ड्रॉपबॉक्स एक फ़ाइल में परिवर्तनों को सिंक करने का प्रयास करता है जो कि Git फिर से उपयोग किए जाने के दौरान फिर से खोलने का प्रयास करता है।
मिलिमोस

यह समाधान महत्वपूर्ण रूप से एक महत्वपूर्ण प्रणाली फ़ाइल के लिए सार्वजनिक रेपो का उपयोग करता है, जिससे सुरक्षा समस्याएं हो सकती हैं। ड्रॉपबॉक्स और अन्य निजी हैं।
न्यू अलेक्जेंड्रिया

4

.bash_profileड्रॉपबॉक्स को या तो सिम्बलिंक के माध्यम से या तो ड्रॉपबॉक्स में रखना पूरी तरह से एक अच्छा विचार नहीं है । विभिन्न मशीनों को इस फ़ाइल की थोड़ी भिन्न सामग्री की आवश्यकता हो सकती है। उदाहरण: अलग-अलग कॉन्फ़िगरेशन, अलग-अलग रास्तों, अलग-अलग चीज़ों के लिए अलग-अलग नाम जैसे इंस्टाल किए गए अलग-अलग सॉफ्टवेयर वर्जन /dev/

इसके बजाय ऐसा करें: अपने सभी अनुकूलित कार्यों और उपनामों को एक फ़ाइल में रखें $HOME/Dropbox/my_functions.shऔर फिर लाइन को शामिल करें

. $HOME/Dropbox/my_functions.sh

अपने में .bash_profile

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