2 puan yazan GN⁺ 2024-06-24 | 2 yorum | WhatsApp'ta paylaş

Özel komut adı çakışmalarını önleme yöntemi

Sorun

  • Özel kabuk betikleri ile sistem komutları arasında ad çakışması olasılığı
  • Özellikle Debian gibi çok sayıda komutu destekleyen sistemlerde çakışma olasılığının artması

Çözüm

  • Özel komutların başına virgül (,) koyarak onları sistem komutlarından ayırmak
  • Virgülün dosya adlarında özel bir anlamı olmadığı için güvenle kullanılabilmesi

Avantajlar

  • Virgül kullanımı komut çakışmalarını önler
  • Sekme tamamlama özelliğiyle özel komut listesini kolayca görmek mümkündür

Örnek

$ ,«tab»
,complete-scp    ,go-thpgp      ,range
,complete-ssh    ,gr            ,svn-store-password
,coreoff         ,hss           ,umount
,coreon          ,mount-thpgp   ,find
,mount-twt

GN⁺ görüşü

  • Bu yöntem, özel komutlarla sistem komutları arasındaki çakışmaları etkili biçimde önleyebilir.
  • Virgül kullanmak, basit ama güçlü bir çözüm olup yeni başlayan mühendisler tarafından da kolayca uygulanabilir.
  • Bu teknik, özellikle çok sayıda komutun kullanıldığı sistemlerde faydalıdır.
  • Başka bir yöntem olarak komutların önüne belirli bir önek eklemek de düşünülebilir.
  • Bu yöntem kullanıldığında komut yönetimi daha düzenli ve verimli hale gelebilir.

2 yorum

 
GN⁺ 2024-06-24
Hacker News yorumu
  • "comma_nds" adı eğlenceli. Fikir güzel görünüyor, denemeyi düşünüyorum.
  • İlk başta pek iyi gelmemişti ama özellikle araç listesini tab ile sıralama kısmını beğendim. Son zamanlarda namespace çakışması neredeyse hiç yaşamadım.
  • Shell script adları kısa ve öz olduğundan sistem komutlarıyla çakışma ihtimali vardı. bin dizinini $PATH'in başına koyarsanız sorun çözülebilir.
  • Vim'de de , tuşu çok kullanılıyor. Benzer nedenlerle sıkça tercih ediliyor.
  • Sorunu tam olarak anlamadım ama kendi komutlarını otomatik tamamlama fikri güzel.
  • Kısa özel komutlar kullanıyorum. Sistem komutlarıyla çakışsa da sorun etmiyorum. Çakışma olursa başka bir adla alias tanımlıyorum.
  • Windows'ta Python scriptlerini kolayca çalıştırabiliyorsunuz ama Linux'ta zor. Linux'ta ilişkilendirilmiş program kavramı olmadığı için kullanışsız.
  • Çakışmayı önlemek için uzun çalıştırılabilir dosya adları kullanıp kısa alias'lar tanımlama yöntemi var. Dezavantajı ise tab ile tamamlama özelliğinin kullanışsız olması.
  • Metin genişletici / metin değiştirme topluluğunda da virgülle başlayan teknik yaygın.
  • ~/.local/bin içinde hatırlamadığım çok sayıda çalıştırılabilir dosya vardı. Virgülle başlayan script adları, bunları hatırlamaya yardımcı olabilirdi.
 
kayws426 2024-06-24

_ kullanmak nasıl olur?