SORU
13 HAZİRAN 2011, PAZARTESİ


Neden ihtiyacın var mı/. (çizgi, nokta) adı bash betiği çalıştırmak için önce?

Bash komut dosyaları çalıştırırken, başlangıçta ./ yazmam gerekiyor:

$ ./manage.py syncdb

Eğer ben istemezsem eğer doğru değilse, bir hata mesajı alıyorum:

$ manage.py syncdb
-bash: manage.py: command not found

Bunun nedeni nedir? . geçerli klasör için bir ad olduğunu düşündüm, ve bu nedenle bu iki telefon birbirine paralel olmalı.

Ben de uygulamaları çalıştırırken ./ ihtiyacım yok neden anlamak gibi değil:

user:/home/user$ cd /usr/bin
user:/usr/bin$ git

./ olmadan çalışır)

CEVAP
13 HAZİRAN 2011, PAZARTESİ


Unıx çünkü, genellikle, geçerli dizin $PATH değildir.

Bir komut yazdığınızda kabuğu PATH değişken tarafından belirtilen dizinlerin listesini arar. Geçerli dizin listesi değil.

Bu listede, geçerli dizini olmaması nedeni güvenlik.

Hadi kök ve başka bir kullanıcının dizine git ve sl ls yerine yazın. Geçerli dizin PATH, yoksa kabuk dizin sl Diğer program yok) sl programı çalıştırmak için çalışacağız. sl Bu program zararlı olabilir.

EDİT

sl bu kısmı sadece bir örnekti. PATH dizinleri sırayla aranır ve bir eşleşme yapıldığında o program yürütülür. Yani PATH nasıl göründüğüne bağlı olarak, normal bir komut yazarak ya da mevcut dizindeki programı çalıştırmak için yeterli olmayabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • After Effects Tutorials w/ Mikey

    After Effect

    24 HAZİRAN 2009
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • SaraBeautyCorner - Nails and Nail Art Designs, DIY, Fashion & Makeup Tutorial

    SaraBeautyCo

    7 EKİM 2012