Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

shell script acil yardım


ucunbiri

Öne çıkan mesajlar

aslında halletim ama başka şekilde lakin halledemediğim şekline açıklık getirebilen çıkarsa şahane olur;

şimdi olay şu linux multiuser bir sistem olduğundan ps aux yazınca kullanıcılar ve yaptıkları işlemler pid leri, cpu usageları, memory usageları gibi bilgilerle geliyor ya ekrana yapmaya çalıştığım şey şuydu;

ps aux | awk '{ if ($1 == '$username') print "blablabla" }'

satırdaki username benim kullanıcıdan readle aldığım user name yani atıyorum kullanıcı root girince bu satır $1 kısmında yani user bölümündeki isimlerle root u karşılaştırcak eşitlik gelirse blablabla basıcak (normal hali çok kapsamlı da karışan kısım burası)

beceremediğim ve anlamadığım nokta bu şekilde match edemiyor olması yani acaba diyorum göremediğim bir parametre mi var arada o mu bozuyor işi

sonrasında şöyle çözdüm araya başka bir awk daha atarak grep gibi kullandım awk '/'$username'/' yazdım oldu ama yuakrdaki şekil neden çalışmadı bulamadım

???
Link to comment
Sosyal ağlarda paylaş

sorun surada;
ps aux | awk '{ if ($1 == '$username') print "blablabla" }'

awk'dan sonra ' kullandigin icin icerideki $username degiskenin icerigi awk'a gecmiyor yani o if satirindaki deger oldugu gibi geciyor ('$username' olarak), shell e degiskenleri yorumlamasi icin izin vermelisin, su sekilde calisiyor;

ps aux | awk "{if ($1 == "$username") print "blablabla"}"

aslinda bu cirkin gozukuyor daha duzgune bulursam update ederim.

edit: yanlis cevap.
Link to comment
Sosyal ağlarda paylaş

sharky said:

'{ if ($1 == '$username') print "blablabla" }'

Cunku alti cizili bolgeler overlap ediyordu.


Anason said:
sorun surada;
ps aux | awk '{ if ($1 == '$username') print "blablabla" }'

awk'dan sonra ' kullandigin icin icerideki $username degiskenin icerigi awk'a gecmiyor yani o if satirindaki deger oldugu gibi geciyor ('$username' olarak), shell e degiskenleri yorumlamasi icin izin vermelisin, su sekilde calisiyor;

ps aux | awk "{if ($1 == "$username") print "blablabla"}"

aslinda bu cirkin gozukuyor daha duzgune bulursam update ederim.


:)
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...