- Telekom mobilszolgáltatások
- Sony Xperia 1 VII - Látod-e, esteledik
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Milyen okostelefont vegyek?
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Honor Magic5 Pro - kamerák bűvöletében
- Sony Xperia 1 VI - egyből hat
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Netfone
- iPhone topik
Hirdetés
-
Mobilarena
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
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- GYÖNYÖRŰ iPhone 11 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS2190, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3138
- Samsung Galaxy A53 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3039, 94% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest