Geçerli dizinde komut dosyaları çalıştırırken “./” komutunu nasıl atlıyorsunuz?


10

İnternet üzerinden bazı derslerde, geçerli dizinde bir komut dosyası yapmadan çalıştırabilirler:

./script

Bunu nasıl atlıyorsun? CentOS 5.6 x64 kullanıyorum. Bu şekilde çalıştırmak istiyorum

script


3
Bunun özellikle kök kullanıcı için neredeyse her zaman kötü bir fikir olduğunu unutmayın.
David Schwartz

1
Yine de ./ arkasındaki tüm amaç / hikaye nedir?
Pete

Ben her zaman ./ olması gerekir neden sadece merak ediyorum
Aivan Monceller

Son yorum ayrı bir soru olabilir IMHO - genel olarak programları çalıştırmak hakkında anlamak önemli bir şey!
rozcietrzewiacz

4
@Pete (ve Aivan): Linux / UNIX'te kabuk, yalnızca onlara giden yolu biliyorsa (belirttiğiniz bir yolu kullanarak ya da PATH değişkenini arayarak) programları çalıştırır. Windows gibi geçerli dizinde arama yapmak istediğinizi varsaymaz. PATH değişkeni üzerinden arama yapmasını istediğinizi tam olarak arar. '' geçerli dizine bir referanstır. './Script.sh' yazdığınızda, ona yolu söylüyorsunuz.
Kasius

Yanıtlar:


26

Herhangi biri:

  1. Geçerli çalışma dizinini PATH'nize ekleyin: PATH=${PATH}:.(bu bir güvenlik riski olarak kabul edilir)
  2. Komut dosyanızı içeren yolu açıkça PATH değişkenine ekleyin (bu dizine yazma erişimi sınırlıysa bu bir güvenlik riski oluşturmaz)
  3. Komut dosyanızı PATH'ın zaten işaret ettiği yere koyun (~ / bin, / usr / local / bin, ...)

Son seçenek muhtemelen en iyisidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.