-
-
Save seddi/755005 to your computer and use it in GitHub Desktop.
#!/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 |
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.
soledim ya iste ´https://gist.github.com/748928 ´ burada zaten bu dedıgın kod var fakat hocanın duzelt demesi uzerine duzelttim @gdemir
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.
Ş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üzdenDon't repeat yourself
durumunu daha iyi anlamalıyız bence, kendi açımdan söylüyorum bunu çünkü bende kavrayamadım bu durumu..