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 20:44 | Zajímavý projekt

    Starling (GitHub) je desktopové prostředí vytvořeno umělou inteligencí (s dohledem jednoho vývojáře během šesti měsíců).

    Ladislav Hagara | Komentářů: 4
    včera 14:22 | IT novinky

    Dne 30. června 2026 byla završena fyzická realizace projektu Czech National Quantum Communication Infrastructure (CZQCI), tedy České národní kvantové komunikační infrastruktury. Projekt byl realizován od 1. března 2023 a financován z Národního plánu obnovy částkou 121,6 milionu Kč. Cílem podpořeného projektu bylo vybudovat základy národní kvantové komunikační infrastruktury a ověřit možnosti jejího praktického využití. Mezi

    … více »
    Ladislav Hagara | Komentářů: 4
    včera 14:11 | IT novinky

    Město Šumperk se stalo terčem kybernetického útoku, chod úřadu je omezen. Zjišťuje se, jestli unikla nějaká data. Cílem hackerů byla městská datová síť. První útoky zaznamenali odborníci na informační technologie již v pondělí večer, závady se ale plně projevily až dnes ráno. Město událost nahlásilo Národnímu úřadu pro kybernetickou a informační bezpečnost (NUKIB).

    Ladislav Hagara | Komentářů: 1
    včera 13:55 | Bezpečnostní upozornění

    Samba, svobodná implementace síťového protokolu SMB/CIFS, byla vydána ve verzích 4.24.5, 4.23.10 a 4.22.11. Řešeno je 6 zranitelností.

    Ladislav Hagara | Komentářů: 0
    27.7. 23:44 | IT novinky

    Přední technologické společnosti (Adobe, Cadence, Capital One, Cisco, Cloudera, Cloudflare, Cognition, CrowdStrike, Databricks, Dell Technologies, DoorDash, Elastic, HPE, Hugging Face, IBM, LangChain, Linux Foundation, Microsoft, NAVER, NetApp, Nous Research, NVIDIA, OpenClaw, Palantir, Palo Alto Networks, Red Hat, Reflection AI, Salesforce, SAP, ServiceNow, Siemens, SK Telecom, Snowflake, SpacexAI, Synopsys, Thinking

    … více »
    Ladislav Hagara | Komentářů: 5
    27.7. 18:11 | Zajímavý projekt

    Krabix.cz je online 3D konfigurátor krabiček pro 3D tisk s exportem do STL. Běží přímo v prohlížeči. Nic se neposílá na server.

    Ladislav Hagara | Komentářů: 6
    27.7. 17:00 | Komunita

    Nadace Open Home Foundation spustila veřejnou preview verzi komunitní databáze zařízení pro Home Assistant. Má fungovat jako „Wikipedie pro chytrá zařízení".

    Ladislav Hagara | Komentářů: 0
    27.7. 15:22 | Komunita

    Na stránce nového panelu Firefoxu přibudou nové widgety. Například denně aktualizována interaktivní křížovka.

    Ladislav Hagara | Komentářů: 0
    27.7. 14:11 | Zajímavý projekt

    PGSimCity (GitHub) je webová 3D vizualizace vnitřního fungování databázového systému PostgreSQL v podobě města. Vytvořena pomocí umělé inteligence.

    Ladislav Hagara | Komentářů: 3
    27.7. 03:33 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.0 a 24.04-1.4. Nová verze 24.04-2.0 již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (18%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2271 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    SRM-lepší mazání

    1.8.2007 11:28 | Přečteno: 1354× | 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.