Apr 7, 12:00 PM
Hedef Sistem Unix ise!
Russ Olsen’ in bloğundaki yazısında windows platformunda java geliştiriciliği yapan kişilerin unix platformunu hedef alan yazılımlar yaptıklarında ,özellikle serverlar, hedef platformu tam tanımadıkları için sıkıntıya düştüklerini ve Unix platformu hakkında bilmeleri gereken 10 temel özellikten bahsediyor yazısında. Bazılarına değinirsek:
Programların 1024’ ün altındaki portları kullanamayacakları ki bilindiği gibi bu portlar özel amaçlı ayrılmışlardır.
Windows da açık bir dosyayı silmeye kalktığınızda size kullanımda olduğunu bildirerek silmeyecektir ama Unix sistemlerde dosya yok edilir, içerik stream de tutulur ve dosya kapatıldığında herşey yok olur.
Unix sistemlerde yolları ayırmak için forward slash(“/“) kullanılır Windows sistemlerin tersine.
Dosya isimlerinde özel karakterler kullanıldığında Unix sistemlerinde bunlar kabuk tarafından güzel muamele görürken boşluk karaterinin kullanılmasından şiddetle kaçınmak gerekiyor.. gibi devam etmektedir.
Bunlar arasında benim en çok ilgimi çeken ortam değişkenlerini ayarlarken dikkat edilmesi gereken nokta oldu. Windows kullanıcıları
set JAVA_HOME=C:jdk1.5.0_06
içeren bir batch file yazdıklarında ve bu dosyayı
c:>setenv.bat
şeklinde çalıştırdıklarında ortam değişkenleri istedikleri şekilde değişecektir Unix sistemlerde de buna benzer bir script yazılarak iş halledilmektedir.
#!/bin/sh
JAVA_HOME=/usr/java/jdk1.5.0_06
export JAVA_HOME
şeklinde bir script dosyası oluşturup
$ setenv.sh
dediğimizde afallıyoruz çünkü hiçbir şey değişmiyor :) Sebeb:
Unix kabukları bir script çalıştırırken kendilerini kopyalıyorlar ve script’ i bu kopya shell(kabuk) içerisinde çalıştırıyorlar. Böylece o kabuk için ortam değişkenleri değişmiş ama ana kabuk için hiçbir şey değişmemiş oluyor. Aynı şekilde bir script içerisinde cd komutunu kullanırsanız ancak kopya kabuk için dizin değişmiş olacaktır. Eğer işlerin yeni bir kabuk başlatılmadan görülmesini istiyorsanız yapılması gereken dot(.) komutunun kullanılmasıdır. Daha detaylı okursunuz artık :).
Apr 7, 12:00 PM Comments