Diyelim ki bash'da şu takma adı var - alias ls='ls --color=auto'- ve seçeneksiz normal çağırmak istiyorum ls. Bunu yapmanın tek yolu unalias, komut ve sonra yeniden takma addır. Ya da bazı güzel hile veya geçici çözüm var?
Diyelim ki bash'da şu takma adı var - alias ls='ls --color=auto'- ve seçeneksiz normal çağırmak istiyorum ls. Bunu yapmanın tek yolu unalias, komut ve sonra yeniden takma addır. Ya da bazı güzel hile veya geçici çözüm var?
Yanıtlar:
Ayrıca takma adı devre dışı bırakmak için bir eğik çizgi de ekleyebilirsiniz. \ls
Düzenleme: Aynı yapmanın diğer yolları şunlardır:
: "Komutunu" kullanın command lsgöre Mikel .
Tam yolu kullanın: /bin/lsuyarınca Uther'e .
Komutu alıntı: "ls"veya 'ls'Mikel yorumuna göre.
Bu terminal oturumu için diğer adını geçici olarak kaldırabilirsiniz unalias command_name.
commandya builtin.
l\sAynı şeyi yapıyor gibi görünüyor . Bu davranış bir hata mı yoksa bir özellik mi?
Yani ne commandkomut içindir.
Deneyin
command ls
Bu, kabuğa diğer adları ve işlevleri atlamasını söyler.
Takma ad yalnızca tanımlanmış bir kısayol. Bu örnekte, tanımlanan diğer adı dizesi ls, yürütür ls --color=auto. Bu davranışı istemiyorsanız ls, mutlak yolu kullanarak ikili dosyayı çağırabilirsiniz .
Yani çalıştırmak sadece /bin/lsçıktı vermeden renk üretecektir çünkü tanımladığınız takma ad değildir.
Ayrıca takma adı farklı bir şeyle değiştirebilir veya lsrenk parametreleri olmadan çalışan yeni bir takma ad ekleyebilirsiniz .
/binve /usr/binkeyfidir.
whichbazı komutlar için: which ls.
which(veya type), üzerinden bir arama yapar $PATH; sadece yolu belirtmekten çok kullanabilir lsveya kullanabilirsiniz \ls.
@ Uther'in cevabına dayanarak başka bir yol, çalıştırılabilirin yolunu otomatik olarak bulmak için kullanmak $(which ...)veya `which ...`(geri tepmeleri kullanmak ``) kullanmaktır . Bu işe yarayacak bash:
$(which ls)
`which ls`
Kuşkusuz, sadece komutu öneklemek için \çok daha kısadır.
GÜNCELLEME : Takma ad komutunda 'hangisini' nasıl kullanılır 'a göre ? , bu hiç güvenilir görünmüyor.
`which ls`ikili dosyayı doğrudan çalıştırmak demek istiyorsun .
(which ls)benim için işe yaramadı (Ubuntu 12.04 LTS'de) Ve geri tepmeler çok zordu, ben sadece onlardan kaçtım: \ `Hangi l \ \`. Oraya gitmek için çok fazla düzenleme yapıldı :)
$?
Şahsen, ben sadece komutları aynı isimler ile takma ad tanımlamaktan kaçınır, bu yüzden lsher zaman gerçek komutu çağırır. Ben gibi seçeneklerin çeşitli kombinasyonları için diğer adlarını veya fonksiyonlara sahip l, llve lg. (Bu unalias lsbenim .bashrcveya ihtiyacım olan anlamına gelir .cshrc.)
OS'nin hangi seçenekleri tercih edebileceğim konusundaki varsayımlarının ( lskomutun tasarımcılarının varsayımlarını geçersiz kılarak ) kendi kişisel zevklerime nadiren uyduğunu biliyorum . Görünümünden hoşlanmıyorum ls --color=autove okunaklı olması siyah beyaz ile siyah beyaz arasında çok büyük farklılıklar gösterebilir.
YMMV ve diğer çözümler elbette bilmek hala iyidir.
Komutu büyük harfle yazmak, LSnedenini tam olarak bilmediğim halde çalışıyor gibi görünüyor .
LS - display animations aimed to correct users who accidentally enter LS instead of ls.