Kezdőoldal » Számítástechnika » Programozás » Shell scriptes feladatban...

Shell scriptes feladatban hogy tudok felhasználókat keresni, megmondani be van-e jelentkezve, és hogy melyik terminálon van?

Figyelt kérdés
írjunk parancsfájlt, ami egy beadott "user" login névről megmondja, hogy van-e ilyen felhasználó a gépen, és most éppen be van-e jelentkezve, és ha igen, akkor melyik terminálon. Eddig csak számokkal, feltételekkel, ciklusokkal volt dolgom, ebbe pedig bele se tudok kezdeni, remélem tud valaki segíteni

2018. júl. 4. 15:49
 1/8 anonim ***** válasza:

A w parancs, írja ki az éppen bejelentkezett felhasználókat. Példa:


user1@m4schpsrl1c3-g0-0> w

3:51pm up 137 day(s), 21:55, 3 users, load average: 0.60, 0.21, 0.14

User tty login@ idle JCPU PCPU what

user1 pts/1 8:20am 58 w

user1 pts/11 3:44pm 2 /home/user1/program.pl

user2 pts/13 2:26pm 21 ssh 10.224.91.12


Ennek a paracsnak kimenetét kell feldolgoznod, pl ha belerakod egy filéba. Szerintem menni fog.

2018. júl. 4. 15:56
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

A regisztrált felhasználókat pedig a finger paranccsal tudod megkeresni ( tehát pl azok akik léteznek a rendszerben, függetlenül attól, hogy be vannak a jelentkezve.


Példa létező user-re:


user1@m4schpsrl1c3-g0-0> finger user1

Login name: user1

Directory: /home/user1 Shell: /usr/bin/tcsh

On since Jul 4 08:20:41 on pts/1 from 10.6.128.198

No unread mail

No Plan.


Login name: user1

Directory: /home/user1 Shell: /usr/bin/tcsh

On since Jul 4 15:44:17 on pts/11 from 10.1.128.168

5 minutes 4 seconds Idle Time


Példa olyan user-re aki nem létezik:


user1@m4schpsrl1c3-g0-0> finger gyakorikerdes

Login name: gyakorikerdes In real life: ???

user1@m4schpsrl1c3-g0-0>

2018. júl. 4. 16:00
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

A bejelentkezett felhasználók kilistázására ott a "w" parancs:

[link]

a listában való sorok szűréshez ott a grep:

[link]

egy sor adott részének visszaadásához meg ott a cut:

[link]

vagy az awk:

[link]

utóbbi kettőhöz:

[link]

ezeket már csak össze kell fűznöd - erre ott a pipe (|)

2018. júl. 4. 16:03
Hasznos számodra ez a válasz?
 4/8 kovpet ***** válasza:

# 2: finger? OMG, 2018 van, ki telepít ma (vagy akár az elmúlt 10-15 évben) fingerd-t? Te hol találtad? :) Valami oktatási célú cuccon?


Kérdező, az említett w-t és a "getent passwd"-t nézd meg.

2018. júl. 5. 15:48
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
Előző teljesen igazad van:) Mostanában egész nap Solaris dolgokat túrkálok, valahogy visszajöttek a régi reflexek :)
2018. júl. 5. 20:59
Hasznos számodra ez a válasz?
 6/8 kovpet ***** válasza:
Ja, hogy perverz vagy? :) Akkor nincs több kérdésem :)
2018. júl. 5. 21:52
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
Igen, ez oktatás cèlú cucc, kb egy hete kezdtem megismerkedni a shell scriptel, ès leadandóhoz kellene :))
2018. júl. 6. 00:18
 8/8 anonim ***** válasza:

Gondolom már le kellett adni, de csak az archívum miatt egy lehetséges megoldás Linuxon:


---

#!/bin/bash

if [ "$1" == "" ]; then echo "Kit keresel? Juzert meg kell adni."; exit; fi

getent passwd $1 1>/dev/null

if [ $? -eq 0 ]

then

TTYS=`w -h -s $1 | awk -F " " {'print $2'}`

if [ "$TTYS" != "" ]; then

echo "Ezeken a terminalokon van bent:" ;

echo $TTYS

else echo "$1 nincs bejelentkezve";

fi;

else

echo "Ilyen user nincsen";

fi

---

2018. aug. 3. 19:31
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!