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 14:33 | Nová verze

    K 1. lednu 2026 končí 70leté omezení majetkových autorských práv děl autorů zesnulých v roce 1955, viz 2026 in public domain. V americkém prostředí vstupují do public domain díla z roku 1930, viz Public Domain Day.

    |🇵🇸 | Komentářů: 1
    včera 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 9
    včera 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

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

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 6
    včera 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    30.12. 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    30.12. 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    30.12. 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

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

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    NUKE GAZA! 🎆 | Komentářů: 20
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    NUKE GAZA! 🎆 | Komentářů: 7
    Kdo vám letos nadělí dárek?
     (30%)
     (1%)
     (29%)
     (1%)
     (2%)
     (1%)
     (10%)
     (10%)
     (18%)
    Celkem 230 hlasů
     Komentářů: 22, poslední včera 15:34
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: bash: PS1 s \w a / na konci adresáře

    25.3.2010 10:08 Pev | skóre: 28
    bash: PS1 s \w a / na konci adresáře
    Přečteno: 233×
    Zdravím,

    Chtěl bych, aby mi propt ukazoval / na konci adresáře (při použití \w) - tedy /etc/ místo /etc.

    Pokud ale použijí PS1='\w/ \$ ', tak mi to v rootu (/) ukazuje //, místo /.

    Jde v PS1 používat něco ve stylu if podmínek?

    Řešení dotazu:


    Odpovědi

    25.3.2010 10:28 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    Jde spustit bash skript a výsledek vypsat v promptu.
    Máme skript /usr/bin/prompt:
      
    
      #!/bin/bash
      h=$(date +%H)
      if [ $h -le 3 ]; then
          echo "Ahoj"
      elif [ $h -le 7 ]; then
          echo "Dobre rano"
      elif [ $h -le 11 ]; then
          echo "Dobre dopoledne"
      elif [ $h -le 13 ]; then
          echo "Dobre poledne"
      elif [ $h -le 17 ]; then
          echo "Dobre odpoledne"
      elif [ $h -le 23 ]; then
          echo "Dobry vecer"
      else
          echo "Dobrou noc"
      fi
    Nastavte skriptu příslušná práva a poté ho zaneste do proměnné PS1:
      $ export PS1="$(/usr/bin/prompt)> "
      Dobry vecer> 
    Odkaz: Linux v příkazech - vylaďte si Bash!
    Řešení 1× (Pev (tazatel))
    25.3.2010 11:11 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    #!/bin/bash
    
    h=$(pwd)
    if [ $h != '/' ]; then echo -n "/"; fi
    
    [petr@nt ~]$ export PS1='[\u@\h \w$(/home/petr/prompt)] '
    [petr@nt ~/] cd /etc
    [petr@nt /etc/] cd /home
    [petr@nt /home/] cd /
    [petr@nt /] 
    
    Myslím že toto dělá přesně co chceš :-)
    25.3.2010 11:47 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    Díky :-).

    Raději bych sice, kdyby to šlo přímo (bez přítomnosti skriptu - když chybí, tak to zařve), ale i tak velká spokojenost :-).
    h=$(pwd)
    if [ $h != '/' ]; then echo -n "/"; fi
    
    if [ "`pwd`" != '/' ]; then echo -n "/"; fi
    25.3.2010 12:01 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    Pak by jsi musel tam kde nastavuješ proměnnou PS1 testovat zda skript existuje a když ne nastavit PS1 bez použití skriptu.

    Nebo nastavit PS1 globálně pro celý PC a mět někde skript globální co bude testovat zda mají uživatelé vlastní a pokud ne použít globální atd......

    Samozřejmě když něco blbě nastavíš tak to bude řvát vždy :-)
    25.3.2010 12:04 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    Díky za odpověď :-).
    Pak by jsi musel tam kde nastavuješ proměnnou PS1 testovat zda skript existuje a když ne nastavit PS1 bez použití skriptu.
    Jasné, už blbnu - ptám se na úplné základy...

    Mimochodem, v mém případě jde spíš o víc počítačů :-).
    25.3.2010 13:14 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    Díky :-). Raději bych sice, kdyby to šlo přímo (bez přítomnosti skriptu - když chybí, tak to zařve), ale i tak velká spokojenost :-).
    Tak ještě takto: PS1='[\u@\h \w$(if [ "`pwd`" != '/' ]; then echo -n "/"; fi)] '

    ovšem co to udělá jak jako shell bude něco jiného jak bash netuším.
    25.3.2010 12:09 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    Proč hned při každém promptu spouštět skript? Stačí ${PWD%/}/
    25.3.2010 12:26 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    Tady je zas problém s tím, že v home adresáři pak není ~/ ale /home/login :-(.

    Jinak dobrý :-).

    Zkusím použít regexp bashe.
    25.3.2010 13:28 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    No jo, pravda. Tak by to holt asi bez příkazu nešlo. Případně je tu ještě možnost opatchovat si bash. :-)
    25.3.2010 13:10 deadmail
    Rozbalit Rozbalit vše Re: bash: PS1 s \w a / na konci adresáře
    Skuste to cez PROMPT_COMMAND
    PS1=""
    PROMPT_COMMAND='echo -n "${USER} ${PWD/#$HOME/~}"; if [ "$PWD" != "/" ];then echo -n "/";fi;echo -ne " \$"'
    

    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.