[linux-baslangic] Re: Shell scripts

---------

New Message Reply About this list Date view Thread view Subject view Author view

From: Onur Yalazi (onuryalazi@mersin.edu.tr)
Date: Wed 21 Aug 2002 - 10:02:40 EEST


ENDER YUKSEL wrote:

>Merhabalar,
>
>Cevaplariniz icin tesekkurler, sanirim soruma biraz daha aciklik getirsem
>iyi olacak. Bourne Shell'de yazdigim bir scriptim var. Bu scriptin bir web
>sayfasindan mesela bir linke tiklandiginda calismasini istiyorum. PHP'nin
>shell_exec komutunu denedim calismadi, full path ile denedim, header
>ekledim ama olmadi. CGI ile 3 yil once ugrasmistim ama bu isi CGI ile
>nasil yaparim hicbir fikrim yok. Bu arada bir sorum daha olacak "time ps"
>komutunun outputunu bir dosyaya nasil redirect ederim. Ilginize
>tesekkurler.
>
>Ender Yuksel
>
>
>
time ps komutunun cıkıtısını bir dosyaya göndermek çok basittir.
#time ps > cikti
komutu ile cikti isimli bir dosya olusturulur ve bu çıktı bu dosyaya
yönlendirilir.

Php içinden çalışmamasının bir çok sebebi olabilir. Normal olarak dosya
başında #!/bin/sh yada #!/bin/bash yoktur ya da vardır sh ya da bash
burada değildir :) dosyanın apache kullanıcısı tarafından okuma ve
çalıştırma hakkı yoktur.
Script çalışıyordur ama hata döndürdüğü için siz bunu göremiyorsunuzdur.
Başka şeylerde olabilir.

$sonuc = shell_exec("script 2>&1");

şeklinde kullanarak (stder) hata dosya kontrolörünü (handle neyse) de
 (stdin) normal çıktı kontrolörü ne yönlendirirseniz hatalarıda görme
şansınız olur. Biraz daha bilgi verebilirseniz daha çok yardımcı
olabilirim.
eğer dosya başında #!/hede/hodo yoksa

$sonuc = shell_exec("/bin/bash script 2>&1");

şeklinde çalıştırarak dosyayı hiç değiştirmemiş olursunuz :))

cgi çalıştırmak ise basittir.

dosyanıza 755 hakları vererek cgi-bin/ dizini içine koyasınız (yeri
sizin sisteminize göre değişir) ve

http://localhost/cgi-bin/dosyam şeklinde webden çağırırsınız. Tabii
çıktı alabilmek için header göndermeniz gerekir. bu iş için 2 adet örnek
bu dizinde var sanırım. (silmediyseniz) printenv ile test-cgi.
(Rh7.2 m de bulamadım ama FreeBsd 4.6 da var)

(Cevabımda u*x like os ve apache kullandığınızı varsaydım)


New Message Reply About this list Date view Thread view Subject view Author view

---------

Bu arsiv hypermail 2b29 tarafindan uretilmistir.