Đồng bộ hóa hồ sơ bash giữa các máy tính


12

Tôi có hàng tấn thứ trong .bash_profile của mình. Vấn đề là, tôi sử dụng ~ 3 máy tính rất thường xuyên và tôi cảm thấy mệt mỏi khi phải sao chép dán các bản sao của mình ở mọi nơi. Hai trong số họ chạy Ubuntu 10.10 và một chạy OSX. Tôi đã tự hỏi nếu có một cách để sử dụng Dropbox, để chia sẻ một tập tin prefs duy nhất. Giống như, khi bash bắt đầu, nói với nó để kiểm tra ~/Dropbox/Bash/.bash_profile?

Mặc dù, tôi cũng có thể bảo emacs nhìn vào ~/Dropbox/Emacs/.emacsbằng cách nào đó?


2
Câu hỏi thông minh!
msanford

Tôi dường như không thể nhận xét về câu trả lời được chọn (tuyệt vời). Tôi không biết đây có phải là một cái gì đó cụ thể đối với osx / mac không nhưng tôi cần thực hiện một vài thay đổi để nó hoạt động DROPBOX_PROFILE = '~ / Dropbox / Bash / .bash_profile' nếu [-f $ DROPBOX_PROFILE]; sau đó . $ DROPBOX_PROFILE fi Nên là DROPBOX_PROFILE = "$ HOME / Dropbox / Bash / .bash_profile" nếu [-f $ DROPBOX_PROFILE]; sau đó . $ DROPBOX_PROFILE fi Hy vọng rằng sẽ giúp.
Jason

Chỉ để làm cho rõ ràng hơn: các chỉnh sửa của @ Jason là thay thế các dấu ngoặc đơn bằng dấu ngoặc kép và thay thế '~' bằng '$ HOME' theo định nghĩa của DROPBOX_PROFILE
spugman

Câu trả lời:


17

~ / .bash_profile

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

~ / .emacs

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

3
Cá nhân tôi cảm thấy rằng sourcenó dễ đọc hơn (và có thể đọc được) hơn toán tử dấu chấm, nhưng đó là câu trả lời của bạn và vì vậy tôi sẽ không chỉnh sửa nó. Ngoài ra, +1 cho một câu trả lời tốt.
Xin chào71

@ Hello71 Bạn có thể giải thích sourcemột chút. Tôi tò mò. Cảm ơn!
Joshua Pinter

@ Hello71 Ah, tôi nghĩ tôi biết ý của bạn lúc này. Và tôi hoàn toàn đồng ý. sử dụng .là khó hiểu hơn nhiều so với sử dụng source.
Joshua Pinter

Nếu bạn có một khoảng trống trên đường dẫn của mình, như khi bạn có Dropbox kinh doanh và muốn sử dụng cá nhân của mình, ví dụ: Dropbox (Personal)bạn sẽ cần sử dụng dấu ngoặc kép khi tham chiếu biến, như thế nào "$DROPBOX_PROFILE".
Joshua Pinter

6

Làm thế nào về điều này, mà tránh có các tệp cấu hình đặc biệt nguồn các phiên bản Dropbox?

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

5

Trong .bash_profile thông thường của bạn, chỉ cần gọi ~ / Dropbox / Bash / .bash_profile.

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

Trên thực tế, bạn có thể muốn gọi tệp chia sẻ một cái gì đó khác, hoặc ít nhất là không làm cho nó một tệp ẩn.


3

Tôi nghĩ rằng điều này sẽ có được những gì bạn muốn, chỉ cần kiểm tra xem nếu tập tin tồn tại, nếu vậy, nguồn nó.

trong $HOME/.bash_profile

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


0

bình luận tới: /superuser//a/224204/401026 (Trả lời của Andrejs Cainikovs)

những thay đổi của tôi cho macOS 10.12.6 Sierra, iTerm2 Build 3.2.0, Phiên bản đầu cuối 2.7.3 (388.1.1):
- dấu ngã
thay thế - thay thế dấu ngoặc đơn bằng dấu ngoặc kép

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

xin lỗi: tôi không thể viết bình luận, vì vậy tôi phải thêm một câu trả lời

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.