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 11:55 | Humor

    Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě

    … více »
    NUKE GAZA! 🎆 | Komentářů: 25
    včera 01:44 | Komunita

    Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.

    Ladislav Hagara | Komentářů: 3
    23.1. 18:11 | Zajímavý software

    Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.

    Ladislav Hagara | Komentářů: 1
    23.1. 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 7
    23.1. 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    23.1. 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    23.1. 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.1. 16:55 | Nová verze

    Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    22.1. 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 8
    22.1. 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (10%)
     (22%)
     (3%)
     (5%)
     (2%)
     (11%)
     (35%)
    Celkem 600 hlasů
     Komentářů: 17, poslední 22.1. 15:24
    Rozcestník

    SRM-lepší mazání

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