Синхронізація профілю bash між комп’ютерами


12

У моєму .bash_profile є багато речей. Проблема полягає в тому, що я дуже часто використовую ~ 3 комп’ютери, і мені набридло копіювати скрізь свої папки. Дві з них працюють з Ubuntu 10.10, а одна працює з OSX. Мені було цікаво, чи є спосіб використовувати Dropbox, щоб поділитися єдиним файлом преф. Мовляв, коли починається баш, скажіть це перевірити ~/Dropbox/Bash/.bash_profile?

Хоча, чи можу я також сказати emacs, щоб ~/Dropbox/Emacs/.emacsякось заглянути ?


2
Розумне питання!
мсанфорд

Я не можу коментувати (чудову) обрану відповідь. Я не знаю, чи це щось специфічне для osx / mac, але мені потрібно було внести кілька змін, щоб він працював DROPBOX_PROFILE = '~ / Dropbox / Bash / .bash_profile' if [-f $ DROPBOX_PROFILE]; тоді . $ DROPBOX_PROFILE fi повинен бути DROPBOX_PROFILE = "$ HOME / Dropbox / Bash / .bash_profile", якщо [-f $ DROPBOX_PROFILE]; тоді . $ DROPBOX_PROFILE fi Надія, яка допомагає.
Джейсон

Просто для того, щоб було зрозуміліше: @ Направлення Джейсона полягає в заміні одинарних лапок на подвійні лапки та заміні "~" на "$ 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 - хороша відповідь.
Привіт71

@ Hello71 Чи можете ви sourceтрохи розібратися . Мене заінтригує Дякую!
Джошуа Пінтер

@ Hello71 Ах, я думаю, я знаю, що ти маєш на увазі зараз. І я повністю згоден. використання .набагато криптичніше, ніж використання source.
Джошуа Пінтер

Якщо у вас є пробіл на шляху, як, наприклад, у вас є бізнес-Dropbox і хочете використовувати свій особистий, наприклад Dropbox (Personal), вам потрібно буде використовувати подвійні лапки при посиланні на змінну, наприклад "$DROPBOX_PROFILE".
Джошуа Пінтер

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 (відповідь Андрея Кейнікова)

мої зміни для macOS 10.12.6 Sierra, iTerm2 Build 3.2.0, термінальна версія 2.7.3 (388.1.1):
- замінено tilde
- замінити одинарні лапки подвійними лапками

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

вибачте: я не зміг написати коментарів, тому мені доведеться додати ще одну відповідь

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.