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 ls
göre Mikel .
Tam yolu kullanın: /bin/ls
uyarı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
.
command
ya builtin
.
l\s
Aynı şeyi yapıyor gibi görünüyor . Bu davranış bir hata mı yoksa bir özellik mi?
Yani ne command
komut 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 ls
renk parametreleri olmadan çalışan yeni bir takma ad ekleyebilirsiniz .
/bin
ve /usr/bin
keyfidir.
which
bazı komutlar için: which ls
.
which
(veya type
), üzerinden bir arama yapar $PATH
; sadece yolu belirtmekten çok kullanabilir ls
veya 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 ls
her zaman gerçek komutu çağırır. Ben gibi seçeneklerin çeşitli kombinasyonları için diğer adlarını veya fonksiyonlara sahip l
, ll
ve lg
. (Bu unalias ls
benim .bashrc
veya ihtiyacım olan anlamına gelir .cshrc
.)
OS'nin hangi seçenekleri tercih edebileceğim konusundaki varsayımlarının ( ls
komutun 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=auto
ve 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, LS
nedenini 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.