Programlama sorunu lütfen yardim

kingkong

Öğrenci
Katılım
4 Şubat 2010
Mesajlar
8
Reaksiyon puanı
0
Puanları
0
Merhaba arkadaslar
Linux kullanmaya basladim ve Hocam bir ödev verdi ama birtürlü yapamadim yardimci olabilecek arkadaslar varsa lütfen yardimci olsunlar yoksa sinifta kalicam :(
Bu programi

#! /bin/bash
# Name
echo –n ´´Username:´´
read name
# Home
echo –n ´´Homeverzeichnis: ´´
read home
# Gruppe
echo –n ´´Gruppe:´´`
read gruppe
# Kommentar
echo –n ´´Kommentar:´´`
read kommentar

useradd –m –d $home –g $gruppe –c ´´$kommentar´´ $name
root/bin isimli klasöre neuuser.sh seklinde kaydedip calistiracagiz.Bunu yapmayi basardim ama sonra bu programi bos sekilde girdi yapinca hata verecek sekilde gelistirmemizi istedi.Mesela username yazinca hicbirsey yazmadan enter'a basarsak hata vericek.Buda yetmezmis gibi grup kismina girdi yapilinca böyle bir girdi varmi diye kontrol edicek varsa users grubuna atacak girdiyi ,yoksa normal girdi olacak.Günlerdir ugrasiyorum ama sonuc alamadim.Yardimci olabilecek arkadaslar Lütfen yardimci olsun :(
 

Champion78

Profesör
Katılım
29 Eylül 2006
Mesajlar
1,716
Reaksiyon puanı
43
Puanları
228
python la yapmak serbest mi, yaparım demiyorum ama o şekilde daha kolay olacağından eminim :)
 

kingkong

Öğrenci
Katılım
4 Şubat 2010
Mesajlar
8
Reaksiyon puanı
0
Puanları
0
Valla dosya .sh uzantili olursa hicbir sorun olmaz.eger yapabilirsen cok sevinirim.
 

Champion78

Profesör
Katılım
29 Eylül 2006
Mesajlar
1,716
Reaksiyon puanı
43
Puanları
228
dediğim gibi ben yapabileceğimi söylemedim, sadece öyle daha kolay olur dedim. ayrıca linux da uzantının önemi yoktur (gerçi windowsda da yoktur ama neyse :)). python bilen birine, daha doğrusu python ile sistem çağrılarını kullanabilen birine yaptırabilirsin. ben sadece fikir verdim. kolay gelsin...
 

kingkong

Öğrenci
Katılım
4 Şubat 2010
Mesajlar
8
Reaksiyon puanı
0
Puanları
0
saol dostum ama bunu yaptirabilecek birini zaten tanisam forumda yazmazdim
 

Champion78

Profesör
Katılım
29 Eylül 2006
Mesajlar
1,716
Reaksiyon puanı
43
Puanları
228
bende onu diyorum, belki vardır forumda yapabilecek biri...
 

ersin

Asistan
Katılım
28 Aralık 2009
Mesajlar
236
Reaksiyon puanı
33
Puanları
0
Kod:
#! /bin/bash

read_until()
{
  read console_param
  if [ "$console_param" = "" ];then
     echo "Parametreyi girmediniz .Parametreyi giriniz "
     read_until $1
    else 
    eval "$1=$console_param";
  fi
}
user_add()
{
user_name=$1
home_dir=$2
group_name=$3
about_user=$4

echo "Kullanıcı asagidaki bilgiler ile olusturuluyor \n"
echo "Kullanıcı adı:"
echo  $user_name
echo "\nhome dizini :"
echo $home_dir
echo "\ngurubu :"
echo $group_name
echo "\naciklama :"
echo $about_user
echo -n "\nDevam etmek için enter, iptal için CTRL+C ye basın"
read dummy_param
result=`groups $user_name|grep $group_name`
if [ "$result" = "" ];then
   useradd $user_name -g $group_name -m -d $home_dir -c ``$about_user``
else
   echo "kullanıcı bu guruba kayitli"
fi
}

# Name
echo –n ´´Username:´´
read_until name
# Home
echo –n ´´Homeverzeichnis: ´´
read_until home
# Gruppe
echo –n ´´Gruppe:´´
read_until gruppe
# Kommentar
echo –n ´´Kommentar:´´
read_until kommentar

user_add $name $home $gruppe  $kommentar
Bir önerim var size, sadece dersi geçme veya kalmak diye bakmayın olaya , eğer bu işi gerçekten yapmak istiyorsanız. Sanırım yukarıdaki kod işinizi görür
 

kingkong

Öğrenci
Katılım
4 Şubat 2010
Mesajlar
8
Reaksiyon puanı
0
Puanları
0
Kod:
#! /bin/bash
 
read_until()
{
  read console_param
  if [ "$console_param" = "" ];then
     echo "Parametreyi girmediniz .Parametreyi giriniz "
     read_until $1
    else 
    eval "$1=$console_param";
  fi
}
user_add()
{
user_name=$1
home_dir=$2
group_name=$3
about_user=$4
 
echo "Kullanıcı asagidaki bilgiler ile olusturuluyor \n"
echo "Kullanıcı adı:"
echo  $user_name
echo "\nhome dizini :"
echo $home_dir
echo "\ngurubu :"
echo $group_name
echo "\naciklama :"
echo $about_user
echo -n "\nDevam etmek için enter, iptal için CTRL+C ye basın"
read dummy_param
result=`groups $user_name|grep $group_name`
if [ "$result" = "" ];then
   useradd $user_name -g $group_name -m -d $home_dir -c ``$about_user``
else
   echo "kullanıcı bu guruba kayitli"
fi
}
 
# Name
echo –n ´´Username:´´
read_until name
# Home
echo –n ´´Homeverzeichnis: ´´
read_until home
# Gruppe
echo –n ´´Gruppe:´´
read_until gruppe
# Kommentar
echo –n ´´Kommentar:´´
read_until kommentar
 
user_add $name $home $gruppe  $kommentar
Bir önerim var size, sadece dersi geçme veya kalmak diye bakmayın olaya , eğer bu işi gerçekten yapmak istiyorsanız. Sanırım yukarıdaki kod işinizi görür


cok tesekkür ederim,tavsiyenize uyacagim.Tekrar tesekkürler
 
Üst