Çalışmam sırasında bashrc'ye sürekli takma ad komutları eklemem gerekiyor, bu komutların çoğunun başka kullanıcılar tarafından çalıştırılması gerekiyor. bashrc'ye harici kaynaktan takma ad komutları ekleyebilmemin bir yolu var mı?
Çalışmam sırasında bashrc'ye sürekli takma ad komutları eklemem gerekiyor, bu komutların çoğunun başka kullanıcılar tarafından çalıştırılması gerekiyor. bashrc'ye harici kaynaktan takma ad komutları ekleyebilmemin bir yolu var mı?
Yanıtlar:
Kullanıcıların ana dizini içindeki çoğu config dosyası, içindekileri geçersiz kılmakta / bunlara eklemektedir - örneğin, sistem genelindeki yapılandırmaya ek olarak, /etckullanıcıların evindeki GIMP ayarları .~/.gimp-2.*/etc/gimp/2.0
Böylece ~/.bashrc, sistem çapında yapılandırma dosyalarını /etc/bash.bashrc (işlevler / takma adlar için ) veya /etc/profile (çevre işleri için) düzenleyebilirsiniz - tam listeyi aşağıdakilerden yapabilirsiniz man bash:
FILES
/bin/bash
The bash executable
/etc/profile
The systemwide initialization file, executed for login shells
/etc/bash.bash_logout
The systemwide login shell cleanup file, executed when a login shell exits
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
~/.bash_logout
The individual login shell cleanup file, executed when a login shell exits
~/.inputrc
Individual readline initialization file
Bu uyarı dosyalardaki birkaç Linux sistemi için verilmiştir:
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
Böylece bu dosyaları düzenleyebilir, önce onları yedeklemek ( cp /etc/bash.bashrc /etc/bash.bashrc-backupörneğin) veya bir kabuk betiği /etc/profile.doluşturmak isteyebilirsiniz - örneğin, bu komutlarla bir tane oluşturabilirsiniz (sudo / as root ile):
touch /etc/profile.d/custom.sh
chmod +x /etc/profile.d/custom.sh
Öyleyse aç şunu nano /etc/profile.d/custom.sh
#!/bin/sh
alias ls='ls -lah'
Ve çıktısında görünüp görünmediğini kontrol ederek çalışıp çalışmadığını kontrol edin alias- Değişiklikleri görmek için oturumu kapatmanız / oturum açmanız veya yeniden başlatmanız gerekebilir (eğer istemiyorsanız, source /etc/profileherhangi bir değişiklik işe yarayabilirse çalışın)
[değiştir: bu ölü bağlantı kaldırıldı] www.thelinuxdaily.com/2010/08/setup-a-universal-user-profile-with-etcprofile-dcustom-sh/]
~/.bash_logoutve /etc/bash.bash_logoutişe yaramaz. :(
/etc/profile.d/edecek değil alt süreç sağ tarafından alınmayı? Yani takma ad yalnızca Bash giriş yapan kabuk olduğunda kullanılabilir mi?
Git /etc/bash.bashrc
vim /etc/bash.bashrc
ve takma adınızı orada yapın.
takma adınızı son satıra ekleyin.
alias abc = "her neyse"
Bu takma ad tüm kullanıcılar için küresel hale gelecektir.
ancak güvenlik nedeniyle size bunu önermiyoruz.
profile.dkullanıcı ortamı dosyalarını içeren bir dizin var
gitmek
cd /etc/profile.d/
vim takma adları
ve takma adlarınızı buraya ekleyin.
sistem dosyalarınızı etkilemeden. Ortam dosyalarınızla çalışmanın güvenli ve doğru yoludur.
Burada zaten kabul edilmiş bir cevap var, ancak /etc/profile.d, vb. İçerisindeki dosyalar ile uğraşmak yerine, sistem ortamındaki kullanıcı ortamlarının yapılandırmasını idare etmek için bazı ortam modülleri kullanmayı düşünebilirsiniz. bu kontrolü birçok mermi arasında tek bir yerde yönetin. Lmod (çok aktif geliştirme aşamasında), C / TCL modülleri (klasik çözüm) veya Cmod (hafif).
Bunu doğru yapıp yapmadığımı bilmiyorum, ancak / home / ComunAtodos dizinini tutmak (benim için bir linux ana dizini olmadığını açıkça belirtmek için büyük harfle ve ispanyolca yapmak) ve .bashrc, .nanorc ve .bash_aliases orada. Sonra /etc/skel/.profile içindeki dosyalara atıfta bulunuyorum, böylece yeni kullanıcılar onlara işaret ediyor ve sadece onlara ihtiyacı olan belirli kullanıcılara ekstralar ekliyorum.
Linux operatörü sisteminde gerçekten yeniyim, ancak /etc/.bashrc dosyasını değil, tüm kullanıcıları .bashrc dosyasını değiştirmek için çalışan bir bash betiğinin bir taslağını yaptım.
#!/bin/bash
X=$( cat etc/passwd | cut -f1 -d: ) #All-users
For X in /home/*/.bashrc ; do
echo "alias ls='ls -al'" >> $X
2>/dev/null
done
source $X
exit 0
Tamam, bu betiğin çalıştığını biliyorum, ama hatasız değilse yapamam :) Ayrıca, tüm kullanıcıları içermeyecek şekilde değiştirebilir, belki de .bashrc dosyasını isteyen tüm kullanıcılar için bir dosya oluşturabilirsiniz. özelleştirilmiş.
.bashrcdosyaya sahip olmasını gerektirir ve satırın zaten dosyalarında olup olmadığına bakmaksızın her zaman eklenir.
/etc/skel/.bashrciçeriğinin nasıl~/.bashrcgörüneceğini değiştirmek üzere düzenlenebilir .