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

  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • Excel Video Tutorials

    Excel Video

    6 Aralık 2012
  • tsweeney79

    tsweeney79

    21 Ocak 2008