การซิงค์โปรไฟล์ทุบตีระหว่างคอมพิวเตอร์


12

ฉันมีสิ่งต่าง ๆ มากมายใน. bash_profile ของฉัน ปัญหาคือฉันใช้คอมพิวเตอร์บ่อยมากถึง 3 เครื่องและฉันเบื่อที่จะต้องคัดลอกคำสั่งวางทุกที่ สองคนใช้ Ubuntu 10.10 และอีกหนึ่งรัน OSX ฉันสงสัยว่ามีวิธีใช้ Dropbox หรือไม่เพื่อแชร์ไฟล์ prefs เดียว ชอบเมื่อเริ่มทุบตีบอกให้ตรวจสอบ~/Dropbox/Bash/.bash_profile?

ถึงแม้ว่าฉันจะบอกให้ emacs ดูด้วยได้~/Dropbox/Emacs/.emacsไหม?


2
คำถามที่ฉลาด!
msanford

ฉันไม่สามารถแสดงความคิดเห็นในคำตอบที่เลือก (ยอดเยี่ยม) ฉันไม่ทราบว่านี่เป็นสิ่งที่เฉพาะเจาะจงกับ osx / mac แต่ฉันต้องทำการเปลี่ยนแปลงสองสามอย่างเพื่อให้สามารถทำงานได้ DROPBOX_PROFILE = '~ / Dropbox / Bash / .bash_profile' หาก [-f $ DROPBOX_PROFILE]; จากนั้น $ DROPBOX_PROFILE fi ควรเป็น DROPBOX_PROFILE = "$ HOME / Dropbox / Bash / .bash_profile" ถ้า [-f $ DROPBOX_PROFILE]; จากนั้น $ DROPBOX_PROFILE fi หวังว่าจะช่วยได้
46411 Jason

เพียงเพื่อให้ชัดเจน: @ tweaks ของ Jason คือการแทนที่เครื่องหมายคำพูดเดี่ยวด้วยเครื่องหมายคำพูดคู่และแทนที่ '~' ด้วย '$ HOME' ในคำจำกัดความของ DROPBOX_PROFILE
sprugman

คำตอบ:


17

~ / .bash_profile

DROPBOX_PROFILE='~/Dropbox/Bash/.bash_profile'
if [ -f $DROPBOX_PROFILE ]; then
    . $DROPBOX_PROFILE
fi

~ / .emacs

(load "~/Dropbox/Emacs/.emacs")

3
โดยส่วนตัวฉันรู้สึกว่าsourceสามารถอ่านได้ (และ googlable) มากกว่าตัวดำเนินการจุด แต่เป็นคำตอบของคุณและฉันจะไม่แก้ไข นอกจากนั้น +1 สำหรับคำตอบที่ดี
Hello71

@ Hello71 คุณช่วยอธิบายsourceหน่อยได้ไหม ฉันรู้สึกทึ่ง ขอบคุณ!
Joshua Pinter

@ Hello71 อ่าฉันคิดว่าฉันรู้ว่าคุณหมายถึงอะไรตอนนี้ และฉันเห็นด้วยอย่างยิ่ง ใช้เป็นที่คลุมเครือมากขึ้นกว่าการใช้. source
Joshua Pinter

หากคุณมีพื้นที่ในเส้นทางของคุณเช่นเมื่อคุณมีธุรกิจ Dropbox และต้องการที่จะใช้ส่วนตัวของคุณเช่นคุณจะต้องใช้คำพูดสองเมื่ออ้างอิงตัวแปรเช่นDropbox (Personal) "$DROPBOX_PROFILE"
Joshua Pinter

6

แล้วจะหลีกเลี่ยงการมีไฟล์ปรับแต่งพิเศษที่เป็นแหล่งกำเนิดรุ่น Dropbox หรือไม่

$ ln -s ~/Dropbox/Bash/.bash_profile ~/.bash_profile
$ ln -s ~/Dropbox/Emacs/.emacs ~/.emacs

5

ใน. bash_profile ปกติของคุณเพียงโทร ~ / Dropbox / Bash / .bash_profile

#.bash_profile
. ~/Dropbox/Bash/.bash_profile # the '.' command runs a file.

จริงๆแล้วคุณอาจต้องการเรียกไฟล์ที่แชร์อย่างอื่นหรืออย่างน้อยก็ไม่ได้ทำให้มันเป็นไฟล์ที่ซ่อนอยู่


3

ฉันคิดว่านี่จะเป็นสิ่งที่คุณต้องการเพียงตรวจสอบว่ามีไฟล์อยู่หรือไม่ถ้าเป็นเช่นนั้น

ใน $HOME/.bash_profile

[ -f $HOME/Dropbox/Bash/.bash_profile ] && source $HOME/Dropbox/Bash/.bash_profile


0

ความคิดเห็นที่: https://superuser.com/a/224204/401026 (คำตอบของ Andrejs Cainikovs)

การเปลี่ยนแปลงของฉันสำหรับ macOS 10.12.6 Sierra, iTerm2 Build 3.2.0, เวอร์ชั่น Terminal 2.7.3 (388.1.1):
- เครื่องหมายตัวหนอนแทนที่
- แทนที่คำพูดเดี่ยวด้วยเครื่องหมายคำพูดคู่

DROPBOX_PROFILE="/Users/xxx/Dropbox/Bash/.bash_profile"
if [ -f $DROPBOX_PROFILE ]; then
    . $DROPBOX_PROFILE
fi

ขอโทษ: ฉันไม่สามารถเขียนความคิดเห็นดังนั้นฉันต้องเพิ่มคำตอบอีก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.