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 05:44 | IT novinky

    Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.

    Ladislav Hagara | Komentářů: 1
    včera 18:00 | Nová verze

    VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).

    Ladislav Hagara | Komentářů: 3
    včera 12:44 | Zajímavý software

    Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.

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

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    13.8. 11:55 | IT novinky

    Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.

    Ladislav Hagara | Komentářů: 5
    13.8. 04:33 | Bezpečnostní upozornění

    Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    13.8. 04:22 | Nová verze

    Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    12.8. 13:44 | Nová verze

    Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    12.8. 13:00 | IT novinky

    Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování

    … více »
    Ladislav Hagara | Komentářů: 2
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (52%)
     (19%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (17%)
    Celkem 393 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    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: 187×
    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: 72 | 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: 72 | 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.