-
GAMEPOD.hu
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 #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..........
-
-
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.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Eredeti Windows, telepítéssel! Digital Doctor Számítógép Szerviz
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.