- Három játékprofillal készült az új Arc meghajtó
- Befutottak a beágyazott rendszerekbe szánt, tempós Ryzenek
- Mi történik a szemeddel, ha napi 8 órát monitort nézel? | Orvos válaszol
- A Synology visszatáncolt a saját márkás HDD-k megköveteléséből
- 350 Hz-es IPS kijelzővel gyarapodott a Samsung portfóliója
-
PROHARDVER!
Mára a ProHardver!/IT.News Fórum is nagylétszámú Linuxban jártas taggal büszkélkedhet. Nehéz szinteket felállítani egy olyan rendszer ismeretében, ami annyira sokrétű, hogy teljesen szinte lehetetlen megismerni minden egyes részét. Azt azonban mindenki tudja, hogy kezdő-e vagy sem. Elsősorban nekik szólnak az alábbiak, de érdemes mindenkinek elolvasnia, mint útjelző táblát.
Új hozzászólás Aktív témák
-
Mahesa
tag
válasz
htibi20 #11016 üzenetére
#!/bin/bash
[ -n "$1" ] 2>/dev/null && felhasznalo="$1" || felhasznalo="$USER"
awk -v user="$felhasznalo" 'BEGIN {FS=":"} {if ($1==user || $4==user) {print $1}}' | tr -t "\n" " "
echo
Először megnézi, hogy adsz-e meg felhasználót a parancs után - ha nem, akkor az aktuális felhasználót nézi.
Az awk-nak átadod a $felhasznalo változót, mert az awk programon belül nem lehetne erre hivatkozni. Aztán, ha a group fájl első vagy negyedik mezője megegyezik a user nevével, akkor kiírjuk az első mezőt, mely a csoport nevét tartalmazza.
Ez sztem jó. És ne felejts el végrehajtási jogot is adni a fájlnak chmod +x -el.
-
-
Mahesa
tag
válasz
htibi20 #11008 üzenetére
nah igen, a shell szkriptek a shebang sorral kezdődnek:
#!/bin/bashutána meg jön a többi
grep $USER /etc/group | cut -d ":" -f1 | tr -t "\n" " "
echoElőször grep-el kikeresed azokat a sorokat az /etc/group fájlból, melyek tartalmazzák az aktuális felhasználó nevét - a $USER változóban benne van a bejelentkezett felhasználó neve:
grep $USER /etc/groupEzt pipe-olod a cut parancshoz, aminél a -d után megadod a mezőelválasztót (a group fájlban az egyes mezőket kettőspont választja el egymástól - esetleg nézz bele a fájlba: more /etc/group - a -f1 pedig azt mondja meg, hogy az első mezőre vagyunk kíváncsiak. Nah, így már meg is vannak a csoportnevek, melynek tagja a felhasználó:
grep $USER /etc/group | cut -d ":" -f1Csak az a baj, hogy a groups parancs egy sorban adja ezt vissza, ezért lecseréljük tr-el az újsor karaktereket (\n) szóközre. Ez viszont kiírtja az utolsó újsor karaktert is, ami miatt a prompt ugyanabban sa sorban jönne vissza, mint az eredmény, ezért nyomunk még egy üres echo parancsot.
Próbáld ki lépésről-lépésre a gép előtt. Jah és nyilván van számos más megoldás is, pl. a cut helyett az awk, a tr helyett a sed, stb..........
-
Új hozzászólás Aktív témák
- Fém, összecsukható és kihúzható fotó állvány eladó
- LG 55CS6 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- 10magos! Fémvázas! HP EliteBook 860 G9 i7-1255U 16GB 512GB 16" FHD+
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA -Kártyafüggetlen, MS3605
- Bomba ár! Lenovo ThinkPad L13 G3 - i5-1245U I 16GB I 256SSD I 13,3" FHD Touch I NBD Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest