Tüm kullanıcılar için takma adları nasıl ayarlayabilirim?


38

Ubuntu 14.04.2 var. Bunu yapmak istiyorum, böylece tüm kullanıcılar otomatik olarak belirli bir diğer ad grubuna sahip olurlar. Takma adlarım kişisel .bashrc adresime ayarlanmış, ancak bunları diğer kullanıcılara el ile kopyalamak zorunda kalmak istemiyorum. İdeal olarak, bunları yeni oluşturulan kullanıcılar için de otomatik olarak ayarlaması gerekir.


1
"Önceden ayarlanmış" ifadesiyle, tüm yeni kullanıcıların kolayca yeniden yapılandırabilecekleri belirli takma adlarla oluşturulmasını mı istiyorsunuz ? Yoksa tüm kullanıcıların her zaman sahip olacağı şekilde küresel takma adlar oluşturmak istediğinizi mi kastediyorsunuz? befuddling)? Veya başka bir şey? İlgili: .bashrc ve .bash_profile'nin (garip unvanına rağmen, bu sorunun ve bunun aslında oldukça benzer olduğuna inanıyorum).
Eliah Kagan

Yanıtlar:


50

/etc/profile.d/Tüm kullanıcılar için takma ad oluşturmak için bir komut dosyası oluşturabilirsiniz :

  1. İçinde bir dosya 00-aliases.sh(veya başka bir fantezi adı) oluşturun /etc/profile.d:

    gksu gedit /etc/profile.d/00-aliases.sh
    
  2. Bu dosyaya diğer adlar koyun. Örnek:

    alias foo='bar --baz'
    alias baz='foo --bar'
    
  3. Dosya 'yı kaydet

  4. Değişiklikleri uygulamak için açık terminalleri yeniden başlatın.
  5. Keyfini çıkarın!

Bazı notlar:

  • /etc/profileDaha önce çalıştırılan genel bir dosyadır ~/.profile.
  • /etc/profile.d/ tarafından adlandırılan komut dosyalarını içeren bir klasördür. /etc/profile
  • Ne zaman /etc/profiledenir (eğer başlattığınızda / bir kabuk giriş), bu biten herhangi dosyaları arar .shiçinde /etc/profile.d/ve bu komutlar biriyle onları çalıştırır:

    source /etc/profile.d/myfile.sh
    

    . /etc/profile.d/myfile.sh
    
  • 00-Komut dosyalarının geri kalanından önce yürütülmesini sağlamak için dosya adının önüne koyuyorum .
  • Ayrıca takma adlarınızı da ekleyebilirsiniz /etc/profile, ancak bu önerilmez.

2
Mükemmel çalışıyor! /Etc/profile.d dosyasının amacının ne olduğunu kısaca açıklayabilir misiniz?
Brian Sizemore

1
@ BrianSizemore: Cevabımı birkaç açıklama ile güncelledim. Daha fazla sorunuz var mı?
Helio

1
Bu çok iyi açıklar. Açıklama, başka kullanımlar da geliştirmeme yardımcı oluyor. Tüm yardımların için teşekkürler!
Brian Sizemore

4
Bu cevaptaki yöntem kullanılmamalıdır. (Veya ) içindeki .shdosyalardaki takma adlar yalnızca oturum açma kabukları için tanımlanır ve etkileşimli oturum açma olmayan kabukları içinde çalışmaz. Ortam değişkenlerinden farklı olarak bash, alt işlem kabuklarına değil, takma adları alt işlemlere aktaramaz. Bu yöntem, yalnızca sanal bir konsolda veya SSH ile oturum açarak elde edilen orijinal kabuk gibi oturum açma kabuklarında test edildiğinde düzgün çalışıyor gibi görünebilir, ancak çocuk kabuklarında başarısız olur ve ayrıca GUI terminal pencereleri tarafından başlatılan kabuklarda da başarısız olur. /etc/profile.d//etc/profile
Eliah Kagan

2
@Helio Undertanding .bashrc ve .bash_profile konusundaki cevabım , hedefin ne olduğuna bağlı olarak ayrıntılı bir açıklama ile birlikte iki başka yöntem daha sunar. Bunun ya da bu sorunun yinelenebilir sayılabileceğinden emin değilim. OP'den ihtiyaçları hakkında açıklama almak için bu soruya yorum yaptım. Öyle Bu soru daha dar olduğu olandan kapsama aldığı varsayalım beni orada benim uzun birinde malzemenin bazı kapsayan burada kısa bir yanıt sonrası için Tamam olurdu. (Şimdilik OP'nin
yorumuma cevap yazmasını umuyorum


5

Bir takma ad yalnızca bir kabuğun içindeyken çalışır. Bir çalıştırılabilir dosya kadar yaygın olarak erişilebilir bir şey istiyorsanız /usr/bin, örneğin:

#!/bin/sh
ls -l "$@"

"$@"Yürütülebilir kadar tüm bağımsız değişkenler geçirir. Komut dosyasının adı, yürütülebilir dosyanın adı olacaktır.

Kaynak: https://unix.stackexchange.com/a/52509/15954


Bu cevap ilgisiz görünüyor. Bir geçici çözüm sağlanmış gibi gözükse de, kabul edilen cevap soruyu doğru yanıtlar.
Brian Sizemore

3
@ BrianSizemore Aynı soruyu sordum ama benim durumumda daha uygun olan bu çözüme tökezledi; umarım benzer bir durumda başkalarına yardımcı olacaktır. Birçok insan için takma ad iyi olacak.
jtpereyda

1
@BrianSizemore Bu cevap ortak bir yanılgıyı (ki ben de vardı) açıklığa kavuşturur ve yararlı ve doğrudan ilişkilidir.
a20

0

/ Etc / bashrc

  • Sistem genelinde fonksiyonlar ve takma adlar
  • Çevre olayı / etc / profile giriyor

Ne yaptığınızı bilmiyorsanız, bu dosyayı değiştirmek iyi bir fikir DEĞİLDİR. Gelecekteki güncellemelerde birleştirme gereğini önleyeceğinden, ortamınızda özel değişiklikler yapmak için /etc/profile.d/ içinde bir custom.sh kabuk betiği oluşturmak çok daha iyidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.