2013-06-10 23 views
20

Burada oldukça temel bir sorunum var, bu şimdiye kadar ki, şimdiye kadar bunu görmezden geldiğim kadar gelişmemişti. I ve "Murach Java Servlet ve JSP" kitabı tomcat/bin dizinine gidin veTerminalden .sh veya .bat dosyalarını nasıl çalıştırırım?

$ başlangıç ​​

Ancak, ben hata alıyorum Terminalinde sunucuyu benim yazmaya başlamak beni anlatıyor erkek kedi web sunucusunu indirilen

-bash: startup: command not found 

Bu dizindeki ilgili dosyalar startup.sh ve startup.bat şeklindedir. Bu getiriler her iki

Yani benim sorular burada aynı hata mesajı yazarak ne .bat ve sh dosyalardır ve nasıl bu dosyaları çalıştırırım? Farklı diller ve yazılım programları için birkaç öğretici okudum ve bazı zamanlar öğretmenin komut satırında bir sürü dosya çalıştırdığını söylediğinde, "komut bulunamadı" hatası alıyorum. Bazen çalışır, bazen olmaz. Bu benim için şaşırtıcı, bu yüzden bu tür “komut bulunamadı” Terminal problemlerini çözmek için bazı ortak çözümler nelerdir? pencereler üzerinde şunu

cevap

36

.sh * Nix sistemleri içindir ve .bat için olmalı pencereler. Örneğiniz bir bash hatası gösterdiğinden ve Terminal'den bahsettiğinizden, kullandığınız OS X'i varsayıyorum.

Bu durumda klasöre ve türü gitmeli:

./startup.sh 

./ sadece geçerli dizinde yer alan komut aramak gerektiği anlamına gelir. (Alternatif olarak, yalnızca startup.sh'un tam yolunu yazın). Çalışmıyorsa, startup.sh'un yürütme izinlerinin olup olmadığını kontrol edin.

+0

Açıklama pilsetnieks için teşekkürler. Söylediklerinizi yazdım ve işe yaradı! Bir sonraki kurulum problemine. – almel

+0

İzinleriniz reddedildiyse, "sudo./Startup.sh' –

+0

" sudo ./scriptname.sh dosyası çalıştırılıyor "komut bulunamadı" hatası nedeniyle hata yapmanıza gerek olabilir. – yrg

2

ya startup veya Unix üzerinde şunu

startup.bat./startup.sh

(sen tomcat bulunan varsayarak/bin dizini)

8

Bunun nedeni, komut dosyasının $ PATH'nızda olmamasıdır. Ayrıca $ PATH klasörlerden birine bu kopyalamak veya her zaman sadece komut ad kullanabilmeniz $ PATH değişkeni değiştirebilir

./scriptname 

kullanın. Kendinize iyi bakın, mevcut klasörünüzün $ PATH içinde olmamasının bir nedeni var. Güvenlik riski taşıyor olabilir.

yine scriptinizi sorunları varsa, izinlerini kontrol etmek isteyebilirsiniz - besbelli, onu çalıştırmak için çalıştırma izinlerini olmalı. Bir .sh dosya Unix kabuk script

chmod u+x scriptname 

kullanın. Bir .bat dosyası bir Windows toplu iş dosyasıdır. Linux terminalde

6

Tip bash script_name.sh veya ./script_name. ./script_name'u kullanmadan önce, sudo chmod 700 script_name tarafından çalıştırılabilir ve Windows'ta script_name.bat yazın.Benim gibi tembel Mac kullanıcısı için

3

Sürükle-Ve-Bırak

kolay yolu: Terminal pencere ve basın dön finder'den startup.sh dosyayı sürükleyip bırakın.

Tomcat'ı kapatmak için, shutdown.sh ile aynısını yapın.

.bat dosyalarının tümünü, yalnızca bir Windows PC'de olduğu gibi, Mac'te başka bir Unix bilgisayarında kullanmamak kaydıyla silebilirsiniz. Klasörü listelemeyi daha kolay hale getirdiğinden onları siliyorum.

Dosya İzinleri

Ben taze bir Tomcat indir, çünkü başlangıç ​​sırasında hatalarına yol açan dosya izin kısıtlamaları benim Mac üzerinde aday olmayacağını bulabilirsiniz. Dosya izinlerini sıfırlamak için equivelant Unix komutları etrafında bir GUI saran BatChmod uygulamasını kullanıyorum.

Port-Yönlendirme

Unix sistemleri noktasına gelen talepleri iletmek "port yönlendirmesini" nasıl yapılacağını öğrenmek için ihtiyacınız olacak Tomcat ile 80 numaralı bağlantı noktasını kullanmak istiyorsak 1024 altında numaralandırılmış bağlantı noktalarına erişimi korumak Tomcat'in varsayılan olarak dinlediği 8080. Port yönlendirme yapmak için Mac OS X (ve BSD) içine yerleştirilmiş paket filtreleme (güvenlik duvarı) uygulamasına komutlar verirsiniz. Eski günlerde ipfw'u kullandık. Mac OS X 10.7'de (Lion) ve daha sonra Apple, pf numaralı yeni bir araca geçiyor.

-1

Yosemite'deki * .sh dosyaları için bu problemi yaşadım ve Masaüstümdeki bir klasör için doğru yolun ne olduğunu anlayamadım ... dişlerin gıcırdamasından sonra dosyanın kendisini Terminal penceresine sürüklediğini; Hey! Çabuk!!

-2

Öngörüm Terminal'den gelmiyor; Ancak, bu daha kolay bir yoldur.

.bat dosyaları için bunları Wine aracılığıyla çalıştırabilirsiniz. Yüklemenize yardımcı olması için bu videoyu kullanın: https://www.youtube.com/watch?v=DkS8i_blVCA. Bu video, Şarap nasıl yükleneceğini, kurulacağını ve kullanılacağını açıklayacaktır. .bat dosyasını Wine'da açmak kadar basittir ve Windows'da olduğu gibi çalışacaktır.

Bu sayede .exe dosyalarını da çalıştırabilirsiniz .sh dosyaları.

Bu, her türlü terminal kodunu incelemeye çalışmaktan çok daha kolaydır. Başka bir deyişle

chmod 755 scriptname.sh 

yılında

0

Tipi, kendinize dosyayı çalıştırmak için izin verir. Sanırım sadece bunun için izin aldınız.

+0

kullanın. Bu, sorunu çözmeyebilir. @almel tarafından bildirilen hata, kabuğun $ PATH ortam değişkeni tarafından verilen klasörler listesini aradığı ve "başlangıç" dosyasını bulamadığı anlamına gelir. Koyarak "./ startup ", bu aramayı atlıyorsunuz ve kabukları anlatıyorsunuz" Çalışmayı denediğim senaryo için bu klasöre bak " – redsoxfantom

İlgili konular