Skip to content

Instantly share code, notes, and snippets.

@seddi
Created December 25, 2010 19:11
Show Gist options
  • Save seddi/755005 to your computer and use it in GitHub Desktop.
Save seddi/755005 to your computer and use it in GitHub Desktop.
/etc/passwd dosyasindan okuyarak istenilen bazi alanlari listelemek icin bir betik
#!/bin/bash
alani_goster() {
! [ $# -eq 1 ] && echo "simdilik alan adi tek olamali :) " && exit 1
alan=$1
ifs_save="$IFS"
case "$alan" in
"user")
while read line; do
IFS=":"
set $line
IFS="$ifs_save"
echo "$alan ==>> $1"
done </etc/passwd
;;
"group")
while read line; do
IFS=":"
set $line
IFS="$ifs_save"
echo "$alan ==>> $5"
done </etc/passwd
;;
"passwd")
while read line; do
IFS=":"
set $line
IFS="$ifs_save"
echo "$alan ==>> $2"
done </etc/passwd
;;
"kabuk")
while read line; do
IFS=":"
set $line
IFS="$ifs_save"
echo "$alan ==>> $7"
done </etc/passwd
;;
*)
echo "kullanim : ./file_name <alan_adi> "
echo "alan_adi =>> [ user ], [ passwd ], [ group ], [ kabuk ] "
echo "ornek kullanim : ./secilen_alani_goster.sh user "
exit 2 ;;
esac
}
alani_goster $1
@semihozkoroglu
Copy link

Şimdi bende bişey söylemek istiyorum Don't repeat yourself durumu kodun yazılısındaki kod tekrarımı yoksa işlem sırasındaki kod tekrarı mı?
Yani şunu söylemek istiyorum @gökhan senin yazdıgın kodda hangi satırın hangi sutununu bastıracagımız kararına her defasında bakıyoruz ancak @sedat ' ın yazdıgı kodda tamam fazla yazımlar var ama çalışma açısından bakarsan satırdaki sütünu bulup ondan sonra sadece o sütün için işlem yapıyor o yüzden Don't repeat yourself durumunu daha iyi anlamalıyız bence, kendi açımdan söylüyorum bunu çünkü bende kavrayamadım bu durumu..

@gdemir
Copy link

gdemir commented Dec 26, 2010

En başta bu kadar düzensiz yazmasak,
daha güzel olur okunmuyor :-(
Şimdi gel gelelim, bizim kod kısaltma hikayesine;
örneğin senin yavaş çalışır dediğin benim kodda, kişi dediki
"Efendim ben hem user hem de grubları yanyana görmek istiyorum."
dediğinde, caselerde bir işler döndürdükten sonra; sende oldu mu 2 while döngüsü ?
Demek ki benim dediğim kodda az bir hız zahiyatı olmasına rağmen,denetim kolaylığı oluyor.
Ve diğer koda göre 2 kat daha hızlı çalışıyor.

@seddi
Copy link
Author

seddi commented Dec 26, 2010

soledim ya iste ´https://gist.github.com/748928 ´ burada zaten bu dedıgın kod var fakat hocanın duzelt demesi uzerine duzelttim @gdemir

@gdemir
Copy link

gdemir commented Dec 26, 2010

Amaç tek hedefe yönelikse, tabiki bu kod doğru birşey demiyorum, ama;
değilse bu dediğim yolda gidilmeli bence.
Ayrıca bunlar clone edilebiliyor.gistpaste'de sorun var ama manualde olur.
git clone git://gist.github.com/755005.git
ayrı ayrı gistlerde oldugundan, hocanın yorumunu göremediğimden söylüyorum.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment