Cara berbagi file .bashrc antara dua akun pengguna mac


11

Saya telah menyiapkan dua login pengguna di komputer saya, satu untuk rumah dan satu untuk pekerjaan. Saya ingin dapat berbagi pengaturan bash dan vim saya antara dua pengguna. Apakah ada cara untuk melakukan ini? Sejauh ini, saya telah menyalinnya dari satu akun ke akun lain, tetapi saya ingin dapat hanya memiliki satu file di antara keduanya sehingga saya dapat membuat perubahan hanya di satu tempat. Apakah ini mungkin? Terima kasih.

Jawaban:


11

Anda dapat menggunakan lnalat ini untuk membuat tautan simbolis :

ln -s /Users/user1/.bashrc /Users/user2/.bashrc

Dalam contoh ini Anda membuat tautan baru untuk user2menunjuk kembali ke file yang ada user1di direktori. Anda mungkin perlu menggunakan sudo ln ...jika izin tidak diatur dengan benar.


5
Dalam konteks ini, mungkin lebih baik menggunakan hardlink, jadi menghapus satu akun pengguna tidak menghapus file .bashrc untuk akun yang tersisa juga.
Gerry

untuk melakukan itu, cukup hapus -sopsi ke lnperintah
MattDMo

3
Bahkan lebih baik, lakukan ini tetapi letakkan bashrc Anda di folder Dropbox bersama sehingga tersedia di setiap mesin yang Anda gunakan dan dicadangkan.
Dean

11

Ada banyak cara untuk mencapai ini, tetapi idiom umum yang saya lihat adalah menginstal satu file di luar folder home masing-masing pengguna dan memiliki keduanya ~ / .bashrc file sumber dalam file umum.

Ini memungkinkan kejelasan, potensi untuk membuat perubahan tingkat pengguna di kemudian hari, tetapi juga hanya memelihara satu file yang akan bertahan baik salah satu atau kedua pengguna dihapus di kemudian hari.

Ini sedikit lebih banyak pekerjaan daripada menghubungkan file dengan keras dan pengalaman saya dalam menggunakan tautan lunak untuk hal semacam ini adalah menghindarinya karena beberapa alat tidak menangani tautan lunak (atau sym) sebaik yang Anda harapkan.

Ini juga jauh lebih mudah daripada menggunakan kontrol kode untuk menyebarkan file, tetapi itu juga cara yang bagus untuk mengelola perubahan jika Anda akan mengatur git atau mercurial atau sistem kontrol versi lain.


+1 untuk solusi ini, saya telah menerapkannya dengan git di sini - github.com/balupton/dotfiles - manfaat besar yang saya temukan adalah saya dapat dengan mudah menginstal dan menggunakan konfigurasi khusus saya terlepas dari OS (osx, ubuntu, fedora , dll) karena saya dapat mempertahankan konfigurasi spesifik mesin mereka seperti biasa tetapi sumber dalam konfigurasi umum yang menyinkronkan di antara mereka.
balupton

8

Anda dapat mengedit .bashrc di seluruh sistem, yang terletak di / etc / bashrc.

Jika Anda agak terbiasa dengan Git, Anda harus mempertimbangkan membuat repositori untuk "dotfiles" Anda. Anda dapat menggunakan repositori Github gratis untuk melakukannya. Melacak dotfile Anda sedemikian rupa memiliki banyak keuntungan:

  • Anda dapat melakukan fork atau menarik dari salah satu dari banyak repositori dotfile publik yang tersedia, atau menarik inspirasi dari mereka
  • Anda dapat dengan mudah menginstal dan memperbarui dotfile di berbagai akun pengguna dan bahkan mesin yang berbeda
  • Anda mendapatkan kontrol revisi, yang mungkin menyelamatkan Anda dari beberapa masalah dalam jangka panjang

Juga instal memberi Anda izin yang benar
user151019

2

Seperti yang telah dicatat orang lain, Anda dapat melakukan ini dengan symlink, tetapi juga penting untuk mengubah izin secara tepat sehingga kedua pengguna dapat mengakses dan mengedit file.

  1. Hapus yang ada .bashrcuntuk user2:

    rm /Users/user2/.bashrc
  2. Symlink user1's .bashrcuntuk user2direktori' s pengguna:

    ln -s /Users/user1/.bashrc /Users/user2/.bashrc
  3. Ubah izin agar kedua pengguna dapat memodifikasi file:

    chmod +a "user2 allow read,write,execute" /Users/user2/.bashrc

0

Biarkan satu menjadi tautan simbolis ke yang lain.

Di terminal.app sebagai penggunaan user2

cd $HOME; ln -s ../user1/.bashrc
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.