abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 0
včera 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 1
včera 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
včera 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
včera 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
včera 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
včera 00:08 | Pozvánky

V sobotu 18. 2. se v Praze v prostorách VŠE uskuteční od 9:30 již 4. ročník největší české konference o open source redakčním systému WordPress (WP) - WordCamp Praha 2017.

… více »
smíťa | Komentářů: 0
19.1. 23:58 | Komunita

Kryptoměnová komunita zahájila nový rok spuštěním projektu Blockchain.cz, jehož cílem je kolektivně nalézt ideální překlad pro čím dál frekventovanější slovo „blockchain“. Přispět návrhem může kdokoli. Sběr bude trvat až do konce září 2017. Následně bude probíhat dvoutýdenní veřejné hlasování, které bude zakončeno výběrem toho nejlepšího návrhu.

xHire | Komentářů: 8
19.1. 15:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno je celkově 270 bezpečnostních chyb. V Oracle Java SE je například opraveno 17 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 16 z nich. V Oracle MySQL je opraveno 27 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 5 z nich.

Ladislav Hagara | Komentářů: 0
19.1. 02:48 | Nová verze

Po půl roce od vydání verze 9.0 (zprávička) byla vydána verze 10.0 zvukového serveru PulseAudio. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 35
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (73%)
 (3%)
 (11%)
Celkem 343 hlasů
 Komentářů: 24, poslední 17.1. 10:14
    Rozcestník
    Reklama

    Dotaz: CSH skript - uzivatelia v skupine

    15.10.2009 19:05 PC-Man
    CSH skript - uzivatelia v skupine
    Přečteno: 244×
    Dobry den, potreboval by som pomoct s jednym skriptom: Skript by mal byt v C shelly a jeho ulohou by bolo, aby mi vypisal mena vsetkych uzivatelov, ktori patria do danej uzivatelskej skupiny (ktorej meno zadam ako argument skriptu a tato skupina je pre danych uzivatelov primarna). Malo by to byt iba za pouzitia prikazov cat, cut a samozrejme suborov /etc/group a /etc/passwd.

    Za pomoc vopred dakujem, velmi by mi to pomohlo :)

    Odpovědi

    Jendа avatar 15.10.2009 20:11 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    A co konkrétně máš za problém? [kompletní domácí úkoly zde neřešíme]

    Vygrepneš si z group jméno skupiny, vycutneš její číslo (třetí parametr) a pak se podíváš do passwd, u kterého uživatele je jako čtvrtý parametr to číslo.
    „To jsem nedávno zjistil, že naše televize jde ovládat po síti. Docela mě to překvapilo.“ „Jo? A kdo vám ji ovládal?“
    15.10.2009 20:47 PC-Man
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    no, to je ten problem :( ze grep nesmieme pouzit... iba cut :( a ja neviem, ako na to, iba za pouzitia cut... uvazoval som, ze si napr. do jednej premennej nahram prvy stlpec cut -d: -f1 /etc/group, do inej premennej cut -d: -f3 /etc/group... ze by riadky toho stlpca boli ako polozky pola tej premennej... len netusim, ako na to (ak by som mal tie riadky v poli, tak by som uz cyklom zbehol pole, nasiel index tej skupiny, s tym indexom by som v druhej premennej ziskal cislo tej skupiny). Ale neviem, ako tie riadky dostat do pola a zda sa mi tento sposob dost neefektivny...
    Jendа avatar 15.10.2009 21:04 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Hmm, a test ([), cykly a podmínky (IMHO vestavěné funkce CSH) použít můžete?

    for LINE in soubor; do if [`echo $LINE | cut -d: -f1` = $1] …, neznám přesnou syntaxi CSH
    „To jsem nedávno zjistil, že naše televize jde ovládat po síti. Docela mě to překvapilo.“ „Jo? A kdo vám ji ovládal?“
    Jendа avatar 15.10.2009 21:05 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Každopádně bez grepu (nebo sedu nebo něčeho obdobného) je to dost na prd.
    „To jsem nedávno zjistil, že naše televize jde ovládat po síti. Docela mě to překvapilo.“ „Jo? A kdo vám ji ovládal?“
    15.10.2009 21:52 PC-Man
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    noo, ano, vstavene veci pouzit mozme... zakazane mame "externe prikazy" (a netusim, ci mam grep a awk pokladat za externe...)
    oroborus avatar 15.10.2009 21:08 oroborus | skóre: 20 | blog: Bulanci
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Ou, tipujem, ze si druhak bakalar na STU FEI. A toto mas ako ulohu na cvicenia z OS. Utorok som robil na intraku take male doucovanie. A napisal som zadanie cca 4 byvalim spoluziakom. Ked chces, pomozem ti, byvam na intraku Mladost A2 11/3
    Jendа avatar 15.10.2009 21:12 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Taky by mě zajímalo, jak to elegantně vyřešit bez grepu ;-). Nemůžeš pomáhat rovnou sem? :-)
    „To jsem nedávno zjistil, že naše televize jde ovládat po síti. Docela mě to překvapilo.“ „Jo? A kdo vám ji ovládal?“
    15.10.2009 22:17 NN
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    #!/bin/sh
    
    group_name_array=(`cat /etc/group | cut -d: -f1`)
    group_id_array=(`cat /etc/group | cut -d: -f3`)
    
    user_name_array=(`cat /etc/passwd | cut -d: -f3`)
    user_id_array=(`cat /etc/passwd | cut -d: -f3`)
    
    for (( i=0; i < ${#group_name_array[*]}; i++ )); do
            if [ "${group_name_array[$i]}" = "$1" ]; then
                    id=`echo ${group_id_array[$i]}`
                    echo $id
            fi
    done
    
    for (( j=0; j < ${#user_id_array[*]}; j++ )); do
            if [ "${user_id_array[$j]}" = "$id" ]; then
                    echo ${user_name_array[$j]}
            fi
    done
    
    exit 0
    
    NN
    oroborus avatar 15.10.2009 22:46 oroborus | skóre: 20 | blog: Bulanci
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Ma to byt pisane v csh ;)

    Ja som vyprodukoval hrozostrasny kod, povodne som to pisal pre bash a nasledne prepisoval pre csh. V syntaxe csh nie som az tak zbehli ako v bashy, a tak som to napisal ako som vedel (preto tam je tak vela "zbytocnych premennych" ) ( napriklad neviem ako napisat v csh " v "" ( v bashy to je echo "\"" )
    set SEPARATOR='":"'
    set SPACE='" "'
    set W='"'
    set S1='$1'
    set S3='$3'
    
    set ID=`cat /etc/group | awk "BEGIN { FS=$SEPARATOR } { if ( $S1 == $W$1$W ) print $S3; }"`
    cat /etc/passwd | awk "BEGIN { FS=$SEPARATOR } { if ( $S3 == $W$ID$W ) print $S1; }"
    
    16.10.2009 08:11 NN
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Co ten awk tam?

    NN
    15.10.2009 22:49 PC-Man
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    dakujem pekne, medzicasom som to zacal uz riesit tiez podobne :)

    napriklad ID skupiny som nasiel takto:
    set G_NAMES = "`cut -d: -f1 /etc/group`"
    set G_IDS = "`cut -d: -f3 /etc/group`"
    set INDEX = 1
      while ($G_NAMES[$INDEX] != $argv[1])
        @ INDEX++
      end
    
    #cize mame ID hladanej skupiny na $G_IDS[$INDEX]

    takymto stylom to napisem dalej (dufam, ze na tom nie je nic zle), pre hladanie mien uzivatelov s danym ID... dufam, ze sa podari
    15.10.2009 21:34 PC-Man
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    ano, tipujes spravne... mozes mi na seba dat nejaky iny kontakt ? Byvam na Mladosti, ale momentalne som doma... cize nemozem dojst osobne, ale rad by som sa spytal na par otazok
    oroborus avatar 15.10.2009 21:55 oroborus | skóre: 20 | blog: Bulanci
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    mozes mi na seba dat nejaky iny kontakt ?

    Ano. dusan.d@@centrum.sk

    Taky by mě zajímalo, jak to elegantně vyřešit bez grepu .

    Vtip je v tom, ze tie zadania su napisane dost blbo, napriklad jeden mi povedal, ze ma pouzivat "iba interne prikazy csh", teda ziadne grep, cat, ls, pri com je zadanie neriesitelne, niekedy som sa stretol s uplne nelogicky danymi zadaniami. (ja napriklad dost casto pouzivam v pisani tych rieseni awk, aj ked dost pochybujem, ze ho prednasajuci na prednaskach spomenul

    Nemůžeš pomáhat rovnou sem?

    Bohuzial dnes som uz jednemu byvalemu spoluziakovy napisal zadanie a dalsim dvom zom radil, cez ICQ, takze na dnes mam toho uz dost, ale poslem to sem asi zajtra :) BTW zadania sa maju pisat na FreeBSD servery, a ked aj napisem pod Linuxom nejaky script co sa interpretuje pod csh, na FreeBSD nemusi ist, lebo prikazy (napriklad find) sa nechovaju na tychto systemoch kompatibilne. Niektori mi dali uzivatelske mena a hesla na FreeBSD server aby som tam opravil moje riesenia, co som pisal pod Linuxom
    Jendа avatar 15.10.2009 22:03 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Vtip je v tom, ze tie zadania su napisane dost blbo, napriklad jeden mi povedal, ze ma pouzivat "iba interne prikazy csh", teda ziadne grep, cat, ls, pri com je zadanie neriesitelne, niekedy som sa stretol s uplne nelogicky danymi zadaniami. (ja napriklad dost casto pouzivam v pisani tych rieseni awk, aj ked dost pochybujem, ze ho prednasajuci na prednaskach spomenul
    Jestli to tedy nakonec bude s grepem, tak to už sem radit nemusíš :-).
    „To jsem nedávno zjistil, že naše televize jde ovládat po síti. Docela mě to překvapilo.“ „Jo? A kdo vám ji ovládal?“
    15.10.2009 22:19 NN
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Kuci mate to hore..

    NN
    15.10.2009 22:24 NN
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Jsou tam drobe chyby:
    user_name_array=(`cat /etc/passwd | cut -d: -f1`)
    a taky staci:
    id=${group_id_array[$i]}
    jinak celkem v poho.

    NN
    15.10.2009 22:26 NN
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    a toto tam uz nema co delat:
    echo $id
    nicmene jeste pro uplnost chybi osetrit vstup..

    NN
    15.10.2009 23:06 kuly
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    Nikoliv, pro uplnost by to melo byt v CSH ;)
    16.10.2009 09:17 NN
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    #!/bin/csh
    
    set group_name = `cat /etc/group | cut -d: -f1`
    set group_name_array = ($group_name)
    set group_id = `cat /etc/group | cut -d: -f3`
    set group_id_array = ($group_id)
    
    set user_name = `cat /etc/passwd | cut -d: -f1`
    set user_name_array = ($user_name)
    set user_id = `cat /etc/passwd | cut -d: -f4`
    set user_id_array = ($user_id)
    
    set max_group_name =  $#group_name_array
    set max_user_name =  $#user_name_array
    
    set i = 0
    set j = 0
    
    while ( $i <= $max_group_name )
            if (  $group_name_array[$i] == $1 ) then
                    set id = $group_id_array[$i]
            endif
            @ i++
    end
    
    while ( $j <= $max_user_name )
            if (  $user_id_array[$j] == $id ) then
                    echo $user_name_array[$j]
            endif
            @ j++
    end
    
    exit 0
    
    fuck off awk..

    NN
    16.10.2009 09:41 NN
    Rozbalit Rozbalit vše Re: CSH skript - uzivatelia v skupine
    --[18] set max_user_name =  $#user_name_array
    ++[18] set max_user_id =  $#user_id_array
    
    --[27] while ( $j <= $max_user_name )
    ++[27] while ( $j <= $max_user_id )
    
    NN

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.