Daha önce which
farklı platformlarda (Linux vs. Solaris vx. OS X) komuttan elde edilen çıktı farklılıklarıyla, muhtemelen meseleyi de oynayan farklı kabuklarla hayal kırıklığına uğradım . type
daha iyi bir alternatif olarak önerildi, ancak bu ne kadar taşınabilir?
Geçmişte which
, karşılaştığım farklı kullanım durumlarının çıktısını ayrıştıran ve işleyen işlevler yazdım . Kullandığım makineler arasında çalışıyorlar ve bu yüzden kişisel senaryolarım için uygun, ancak bu, başkalarının kullanması için bir yere göndereceğim yazılımlar için çok güvenilmez görünüyor.
Olası bir örneği ele almak için, bir komut dosyasından bash ve zsh'nin bir makinede mevcut olup olmadığını tespit etmem gerektiğini varsayalım ve eğer varsa zsh ile bir komut çalıştırır ve zsh yoksa ve bash yeterliyse bash ile sürümünde belirli bir hata olmamalıdır. Senaryonun geri kalanının çoğu Bourne kabuğu veya Ruby veya başka bir şey olabilir, ancak bu özel bir şey (AFAIK) zsh veya son bash sürümü ile yapılmalıdır.
type
Platformlarda kullanılabilir olmaya güvenebilir miyim ? which
Belirli bir yazılım parçasının yüklü olup olmadığı sorusuna kolay ve tutarlı bir şekilde cevap verebilecek başka bir alternatif var mı ?
(Verdiğim örnekle özellikle ilgili fikirler vermek istiyorsanız, bu harika, ama esas olarak sadece genel durum hakkında sorular soruyorum: belirli bir şeyin belirli bir makineye yüklü olup olmadığını öğrenmenin en güvenilir yolu nedir? ?)
hash
ve kullanarak yaygın olarak önerilen teknikler hakkında yorum yapmak için genişlemeden yararlanabilircommand -v
.