/ vs normal uygulama


3

Bu muhtemelen unix sistemleri için daha fazla bir sorudur, ancak Mac Pro'mda bulunduğundan, burada bir cevap bulacağımı umuyorum:

Göz attığımda /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/db/bin

Bir cd ile bin'de bulunan startNetworkServer komutunu çalıştıramıyorum, bunun yerine çalıştırabilirim ./startNetworkServer.

Ancak ~

MacCris:~ cris$ /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/db/bin/startNetworkServer

onsuz çalışır.

Neden bir fikrin var mı? (ilgili haklar?)

Teşekkürler

Yanıtlar:


7

Bunun nedeni orada çalışan Shell'inizin Terminal.app'deki davranışıdır. Muhtemelen darbe kabuk

Kabuktan bir komut çalıştırmasını istediğinizde (mutlak bir yol sağlarsanız) / ikincisinin yaptığı gibi) o programı o yolda yürütmeye çalışacaktır. Göreceli bir yol sağlarsanız (yani bir / ) PATH ortam değişkeninde bulunan dizinleri yazdıklarınıza hazırlayarak mutlak bir yol oluşturmaya çalışacaktır. Geçerli dizininiz olarak veya . PATH'nizde değil, çalıştırılacak bir dosya bulamıyor. Yol bir ile başlarsa . Bu, geçerli dizininizin mutlak yolu ile onu düzeltir ve böylece çalıştırılabilecek bir yolu elde eder.


2
  • ~ = ev klasörü başka bir şey değil.

  • ./something o şeyi yürütecek (script veya ikili)
    Tam yolu yazmak, yürütmekle aynıdır ./

  • cd dizin değiştir, öyleyse değil gerçekleştirmek

Bunların hepsi standart unix / linux komut satırı komutlarıdır

Referanslar:
http://linuxcommand.org/learning_the_shell.php http://www.arachnoid.com/linux/shell_programming.html


Teşekkürler ... ama bu komutları bilmiyorum ki (temel komutlar), tam yoldan yürütmeye çalıştığımda veya o dizinde olduğumda davranış farklıdır.
Cris
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.