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í
×
    dnes 01:11 | IT novinky

    Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.

    Ladislav Hagara | Komentářů: 1
    včera 17:44 | Nová verze

    Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Komunita

    Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.

    Ladislav Hagara | Komentářů: 3
    včera 03:55 | Nová verze

    VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.

    Ladislav Hagara | Komentářů: 0
    28.4. 16:22 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 5
    28.4. 15:44 | Zajímavý článek

    David Malcolm se na blogu vývojářů Red Hatu rozepsal o vybraných novinkách v GCC 16, jež by mělo vyjít v nejbližších dnech. Vypíchnuta jsou vylepšení čitelnosti chybových zpráv v C++, aktualizovaný SARIF (Static Analysis Results Interchange Format) výstup a nová volba experimental-html v HTML výstupu.

    Ladislav Hagara | Komentářů: 0
    28.4. 15:11 | Nová verze

    Byla vydána verze R14.1.6 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    28.4. 12:55 | Komunita

    Jon Seager z Canonicalu včera na Ubuntu Community Hubu popsal budoucnost AI v Ubuntu. Dnes upřesnil: AI nástroje budou k dispozici jako Snap balíčky, vždy je může uživatel odinstalovat. Ve výchozím nastavení budou všechny AI nástroje používat lokální AI modely.

    Ladislav Hagara | Komentářů: 0
    27.4. 23:11 | IT novinky

    Nový ovladač Steam Controller jde do prodeje 4. května. Cena je 99 eur.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (4%)
     (7%)
     (3%)
     (15%)
     (25%)
    Celkem 1450 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    SRM-lepší mazání

    1.8.2007 11:28 | Přečteno: 1310× | Linux | Výběrový blog

    Protože se mi často stává, že si při mazání více souborů omylem vymažu celý obsah adresáře, protože se mi do zápisu připlete *, rozhodnul jsem se, že si napíšu takový malý wrapper pro rm -fr v C.

    Už ho mám skoro hotový, ale mám jeden problém. Když jsem ho spustil, tak jsem zjistil, že Bash do toho příkazu předává už přímo expandovanou *

    #include <stdio.h>
    #include <strings.h>
    #include <unistd.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[]) {
            int i, opt;
            for(i=1;i<argc;i++) {
              if (strcasecmp(argv[i],"*")==0) {
                            printf("Opravdu chcete vymazat vsechny soubory v tomto adresari? (A/N)");
                            opt=getchar();
                            if (opt=='N') {
                                    exit(1);
                            } else if (opt=='A') {
                                    break;
                            }
                    }
            }
            argv[0]="rm";
            execvp("rm", argv);
            exit(0);
    }
    

    A proto mi nefunguje zvýrazněný řádek strcasecmp. Jde to nějak obejít?

           

    Hodnocení: 0 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    1.8.2007 11:34 thingie
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ne. Leda bys to v shellu vždy vyescapoval \* a pak to expandoval v aplikaci. Což je divné.
    1.8.2007 11:38 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ano, prepsanim bashe. To je jeho povinnost expandovat vsechny parametry. Aplikace do toho nema co kecat. Tudy proste cesta nevede ...
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    1.8.2007 11:40 ...............23 | skóre: 15 | blog: Various Stuff blog
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    takto asi nie, ale môžeš zistiť počet položiek v adresári a porovanť ich s argc, ak je argc vyššie, tak tam asi bude hviezdička...
    1.8.2007 11:43 Tomáš | skóre: 31 | blog: Tomik
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Na takovou blbost (ve smyslu: maly program) neber C. V Bashi to napises taky a nemusis se zalamovat s prekladem.

    Bash bude hvezdicku expandovat, pokud mu to nezakazes, takze bys musel psat: srm "*" misto prosteho srm * (mozna jsou misto uvozovek potreba apostrofy, ted to nemuzu vyzkouset). Vzhledem k tomu, ze kdyz clovek nekam napise hvezdicku omylem, tak ji asi neda do uvozovek, prijde Ti to vzdycky expandovane. Napada me jenom kontrolovat pocet zadanych argumentu, kdyz bude moc velky (typicky expandovana hvezdicka), tak se zepta.
    1.8.2007 11:47 thingie
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Samozřejmě, že to musí být '*'.
    1.8.2007 13:58 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Zase tak samozřejmé to není, expanze wildcards uvnitř dvojitých uvozovek neprobíhá, takže klidně mohou být i dvojité.
    herne the hunter avatar 1.8.2007 11:47 herne the hunter | skóre: 10 | tor lara
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    když přejdeš z bashe na zsh, tak wrapper nebude potřeba :)
    i am herne the hunter and you are a leaf driven by the wind.
    2.8.2007 18:05 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
    Rozbalit Rozbalit vše Re: SRM-lepší mazání

    Zrovna jsem chtěl napsat, že v zsh stačí nenastavit RM_STAR_SILENT.

    „O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
    1.8.2007 11:48 Opium | skóre: 14 | blog: drugz | -cenzura-
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    int i, opt; moc nechápu, opt je integer (A/N má nějaké číslo?, nějak to nesedí)?
    michich avatar 1.8.2007 12:07 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ale sedí. getchar() vrací int kvůli tomu, aby se dal zjišťovat EOF. A možná tě to překvapí, ale znakové literály ('A', 'N') jsou v C taky typu int.
    freshmouse avatar 1.8.2007 12:49 freshmouse | skóre: 42 | blog: Bruno Banány
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    ... jsou v C taky typu int.
    A jinde mají typ třeba char, ale lze je v pohodě "převést na čísla".
    1.8.2007 13:29 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Však char je taky číslo, co jiného by to bylo.
    Pochybnost, nejistota - základ poznání
    freshmouse avatar 1.8.2007 13:48 freshmouse | skóre: 42 | blog: Bruno Banány
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    To nepopírám.
    1.8.2007 14:00 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ale je to jiný typ než int a na běžných platformách má také typicky jinou velikost.
    Josef Kufner avatar 1.8.2007 20:11 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Písmenka nejsou int, ale char. To jen C umí hezky nenápadně a implicitně konvertovat typy jak je zrovna potřeba, takže to nemusí dělat explicitně programátor jako třeba v Packalu...
    Hello world ! Segmentation fault (core dumped)
    michich avatar 1.8.2007 21:17 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Houby. Znakové literály jsou v C typu int. V C++ jsou typu char, ale to je jiný jazyk.
    #include <stdio.h>
    
    int main()
    {
    	printf("sizeof('a') je %d\n", sizeof('a'));
    	if (__builtin_types_compatible_p(typeof('a'), int))
    		printf("'a' je typu int\n");
    	if (__builtin_types_compatible_p(typeof('a'), char))
    		printf("'a' je typu char\n");
    	return 0;
    }
    
    Výsledek:
    sizeof('a') je 4
    'a' je typu int
    
    1.8.2007 11:56 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Celej ten nápad je řádná kravina, sice se můžeš podívat, jestli všechny soubory v aktuálním adresáři nejsou obsaženy na vstupu nebo tak nějak přibližně, jak píše Forrondur, ale i tak je to řešení jednoho hloupého případu, přičemž např. situace rm /home/ignor/mezera*~ zůstávají dále neošetřeny. Radši si před mazáním vypiš, co všechno by se mazalo a pořádně to projdi nebo používej libtrash nebo se vykašli na rm a do koše to přesouvej sám (ano koš taky není ultimátní řešení pro všechny případy, ale trochu pomůže).
    1.8.2007 15:54 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    A kdyz budes chtit smazat jedine dva soubory v adresari, tak ti to odmitne, ze ses spletl :-)
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    1.8.2007 16:23 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    To už bude problém toho, kdo takovou věc bude používat :-) Ale napadlo mě ještě jiné "řešení". alias myrm="touch neco; srm", kde neco bude nějaká nejlépe exotická věc - např. jeden znak, který by nikoho nenapadlo dát do názvu souboru, ale být v něm může. srm se pak podívá, jestli má na vstupu neco, když jo, tak jeden z parametrů byl *, ?*, *? (což je obojí to samé jako *), ?, nic jiného mě teď nenapadá. neco samozřejmě vždycky smaže.
    1.8.2007 16:55 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    ten alias je ale blbost :-) ten touch by se musel pustit samostatně před mazáním
    b42 avatar 1.8.2007 13:04 b42 | skóre: 12 | Ostrava/Brno
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ne ze by to bylo jakkoli podstatne, ale jedno srm uz existuje.
    Věroš avatar 2.8.2007 10:45 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Zálohovat, zálohovat a zálohovat. Mně stačilo ztrati celý disk asi jenom třikrát :-)
    Školím Ansible

    Založit nové vláknoNahoru

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