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 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 1
    dnes 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 3
    dnes 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    včera 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    včera 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | Nová verze

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové major verzi 4.0.0 - The Quattro Release. Videopředstavení na YouTube. Celý desktop shell byl přepsán do Quickshellu. Přidána byla podpora pluginů.

    Ladislav Hagara | Komentářů: 1
    15.8. 13:33 | IT novinky

    Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani

    … více »
    Ladislav Hagara | Komentářů: 1
    14.8. 16:33 | Zajímavý projekt

    Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).

    |🇵🇸 | Komentářů: 3
    14.8. 14:33 | IT novinky

    Prusa Research představil nové modely svých 3D tiskáren: Prusa XL+, CORE One+ (Gen 2) a CORE One L+.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2408 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník


    Dotaz: Zjištění oddlílu podle current adresáře

    16.1.2018 20:55 MilanC | skóre: 16
    Zjištění oddlílu podle current adresáře
    Přečteno: 409×
    Ahoj, snažím se vyřešit takovou věc. Cílem je zobrazovat jako součást promptu (rw) nebo (ro) podle toho, jestli je příslušný systém, na kterém se aktuálně nacházím mountnutý v ro/rw.

    Takže jsem poeditoval /etc/bash.bashrc

    set_bash_prompt() { fs_mode=$(mount | sed -n -e "s/^\/dev\/.* on \/ .*(\(r[w|o]\).*/\1/p") if [ "$fs_mode" == 'ro' ]; then PS1='\u@\h\[\033[01;31m\]${fs_mode:+($fs_mode)}\[\033[00m\]:\w\$ ' # elif [ "$fs_mode" == 'rw' ]; then # PS1='\u@\h\[\033[01;32m\]${fs_mode:+($fs_mode)}\[\033[00m\]:\w\$ ' fi }

    PROMPT_COMMAND=set_bash_prompt

    Má to ale jeden háček, nereflektuje to změnu adresáře. Např. když jsem na rw a udělám cd /boot (oddíl, který je ro), tak stále ukazuje rw. Háček je v tom zjišťování fs_mode, kde parsuje jen z root FS (/). Potřeboval bych nějak docílit, aby byl reflektován vždy aktuální adresář, tj. z něho zjištěn oddíl (správný řádek z mount). Tedy nějaký příkaz, jehož vstupem bude cesta a výstupem mountpoint, který mi pak poslouží při výběru správného řádku z mount (a zjištění ro/rw). Snad jsem to popsal srozumitelně.

    Děkuji za nápady.

    Řešení dotazu:


    Odpovědi

    16.1.2018 21:24 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    Místo
    mount | sed ...
    zkus dát
    ls -ld .|cut -c 2,3
    Aktuální oddíl se dá zjistit příkazem
    df .
    Oříznutý výsledek můžeš použít jako filtr do svého sedu.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 16.1.2018 21:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    if awk -v mountpoint=$(df --output=target --no-sync . | tail -1) '$2 == mountpoint { exit $4 ~ "^ro(,|$)"; }' /proc/mounts
    then
        echo rw
    else
        echo ro
    fi
    Hello world ! Segmentation fault (core dumped)
    16.1.2018 22:09 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    Díky, pochopil jsem tuto část, která vrátí mountpoint do proměnné

    mountpoint=$(df --output=target --no-sync . | tail -1)

    Ale awk moc neumím. :( pak passneš tu variable mountpoint do awku, ale pak mi už moc není jasné co s čím porovnáváš. Dalo by se případně udělat, aby byl výstup ro/rw jako v tom původním případě? I když je to asi jedno. Zatím mi to ale nechce fungovat.
    16.1.2018 22:22 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    Děkuji, funguje. :-) Ještě bych si dovolil poprosit o jednu radu s proměnnou.
            if awk -v mountpoint=$(df --output=target --no-sync . | tail -1) '$2 == mountpoint { exit $4 ~ "^ro(,|$)"; }' /proc/mounts
            then
                    FSPERM="[\033[01;32m\](rw)\[\033[00m\]"
            else
                    FSPERM="[\033[01;31m\](ro)\[\033[00m\]"
            fi
    
            PS1='\u@\h\$FSPERM:\w\$ '
    
    Ať to zkouším jakkoli, tímto stylem se nebarví, ale vypisuje se obsah FSPERM. Zkoušel jsem třeba ${FSPERM}, PS1 dát do "..", naopak FSPERM do ' ' a různé kombinace. Lze to takto udělat nebo musím celé ty PS1 i s barvou dát do každé části podmínky? Děkuji.
    16.1.2018 22:31 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    Tak už to mám. Děkuji oběma! Využil jsem nápovědy na Tvém webu (hacking-bash), takže řešení je... :-)
    PS1='\u@\h\'$FSPERM':\w\$ '
    

    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.