From: A. Murat Eren (meren@uludag.org.tr)
Date: Fri 07 Jan 2005 - 10:39:57 EET
Merhabalar,
On Thursday 06 January 2005 17:11, Veli Akçakaya wrote:
> Merhabalar,
> bir kabuk program yazmaya çalışıyorum, program
> sistemde çalışan süreçlerden parametre ile belirtilen
> miktarın üzerinde işlemci veya ram kullanıyorsa
> otomatik olarak öldürülecek. Benim sorunum, programa
> girilen parametreleri düzgün alamamam. Örneğin
> # program -c 96 -m 45 -s 1 -d 20 -p program -e email
> -w websayfasi
> programın parametreleri böyle olacak. Ben burada
> -c'den sonra girilen 96 bilgisini nasıl alacağım.
> Döngü kurarak mı alırım, yoksa bunun için benim
> bilmediğim ayrı bir yol var mı?
"getopts" kullanabilirsiniz..
Ornegin sizin istediginiz kosul icin soyle bir betik is gorur:
##############################################################
#!/bin/bash
if [ $# -eq "0" ]
then
echo "Buraya bir usage mesaji yazilabilir.."
exit 3
fi
while getopts ":c:m:s:d:p:e:w:" Param
do
case $Param in
c ) echo "Parametre: c DeÄŸer: \"$OPTARG\"";;
m ) echo "Parametre: m DeÄŸer: \"$OPTARG\"";;
s ) echo "Parametre: s DeÄŸer: \"$OPTARG\"";;
d ) echo "Parametre: d DeÄŸer: \"$OPTARG\"";;
p ) echo "Parametre: p DeÄŸer: \"$OPTARG\"";;
e ) echo "Parametre: e DeÄŸer: \"$OPTARG\"";;
w ) echo "Parametre: w DeÄŸer: \"$OPTARG\"";;
* ) echo "Olmayan bir parametre sectiniz";;
esac
done
exit 0
##############################################################
case'ler icerisinde gerekli parametre degerleri ile ilgili gerekli global
tanimlamalari ya da isleri de yapabilirsiniz..
kiki sandbox $ ./param.sh -c 96 -m 45 -s 1 -d 20 -p pr_nam -e e_mail -w web_p
Parametre: c DeÄŸer: "96"
Parametre: m DeÄŸer: "45"
Parametre: s DeÄŸer: "1"
Parametre: d DeÄŸer: "20"
Parametre: p DeÄŸer: "pr_nam"
Parametre: e DeÄŸer: "e_mail"
Parametre: w DeÄŸer: "web_p"
kiki sandbox $
Selamlar.
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - A. Murat Eren meren@uludag.org.tr http://cekirdek.uludag.org.tr/~meren/ 0xF2E3E5B0, 5B3B 3095 42C6 700D D0B6 DC6F 93D6 9656 F2E3 E5B0 - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
-- free software is a matter of liberty, not price. to understand the concept, you should think of "free speech", not "free beer". -
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama