Saya memiliki Ubuntu 14.04.2. Saya ingin membuatnya sehingga semua pengguna secara otomatis memiliki set alias khusus. Saya memiliki alias saya disetel di .bashrc pribadi saya, tetapi saya tidak ingin harus menyalinnya secara manual ke pengguna lain. Idealnya itu harus secara otomatis mengatur ini untuk pengguna yang baru dibuat juga.
38
Jawaban:
Anda dapat membuat skrip
/etc/profile.d/
untuk membuat alias untuk semua pengguna:Buat file bernama
00-aliases.sh
(atau nama mewah lainnya) di/etc/profile.d
:Beri Anda alias dalam file ini. Contoh:
Simpan file
Beberapa catatan:
/etc/profile
adalah file global yang dijalankan sebelumnya~/.profile
./etc/profile.d/
adalah folder yang berisi skrip yang dipanggil oleh/etc/profile
Ketika
/etc/profile
disebut (ketika Anda mulai / masuk shell), akan mencari semua file yang berakhiran.sh
di/etc/profile.d/
dan berjalan mereka dengan salah satu dari perintah ini:00-
sebelum nama file untuk membuatnya mengeksekusi sebelum sisa skrip./etc/profile
, tetapi ini tidak disarankan.sumber
.sh
file di/etc/profile.d/
(atau/etc/profile
) akan didefinisikan hanya untuk shell login dan mereka tidak akan bekerja di shell non-login interaktif. Tidak seperti variabel lingkungan, bash tidak dapat mengekspor alias ke proses anak, bahkan cangkang bash anak. Metode ini mungkin tampak berfungsi dengan baik jika hanya diuji di shell login, seperti shell asli yang diperoleh dengan masuk di konsol virtual atau melalui SSH, tetapi gagal di shell anak mereka dan juga gagal di shell yang dimulai oleh jendela terminal GUI.Seperti yang ditunjukkan di sini , mungkin lebih baik untuk menambahkan alias global di
/etc/bash.bashrc
:, karena skrip di
/etc/profile.d
dapat diabaikan untuk beberapa shell (non-login) tertentu. Butuh waktu berjam-jam untuk mencari tahu mengapa/etc/profile.d
tidak berhasil.Lihat misalnya https://askubuntu.com/a/606882/ dan Memahami .bashrc dan .bash_profile untuk perbedaan antara shell.
sumber
Alias hanya akan berfungsi saat berada di dalam shell. Jika Anda ingin sesuatu yang dapat diakses secara luas sebagai yang dapat dieksekusi, Anda dapat menambahkan skrip pintas kecil ke
/usr/bin
, misalnya:The
"$@"
melewati semua argumen hingga eksekusi. Nama skrip akan menjadi nama yang dapat dieksekusi.Sumber: https://unix.stackexchange.com/a/52509/15954
sumber
/ etc / bashrc
Ini BUKAN ide yang baik untuk mengubah file ini kecuali Anda tahu apa yang Anda lakukan. Jauh lebih baik untuk membuat skrip shell custom.sh di /etc/profile.d/ untuk membuat perubahan khusus pada lingkungan Anda, karena ini akan mencegah perlunya penggabungan dalam pembaruan di masa mendatang.
sumber