Byla vydána nová verze 10.1 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora NanoPi Zero2 a balíček WhoDB.
Konference Otvorený softvér vo vzdelávaní, výskume a v IT riešeniach OSSConf 2026 proběhne od 1. do 3. července 2026 na Žilinské univerzita v Žilině: "Cieľom našej konferencie je poskytnúť priestor pre informovanie o novinkách vo vývoji otvoreného softvéru a otvorených technológií, o možnostiach využitia týchto nástrojov vo vede a vzdelávaní a taktiež poskytnúť priestor pre neformálne priateľské stretnutie užívateľov a priaznivcov
… více »Korespondenční seminář z programování (KSP) pražského Matfyzu pořádá i letos jarní soustředění pro začátečníky. Zváni jsou všichni středoškoláci a starší základoškoláci, kteří se chtějí naučit programovat, lépe uvažovat o informatických úlohách a poznat nové podobně smýšlející kamarády. Úplným začátečníkům bude určen kurz základů programování a kurz základních algoritmických dovedností, pokročilejším nabídneme různorodé
… více »Fedora je od 10. února dostupná v Sýrii. Sýrie vypadla ze seznamu embargovaných zemí a Fedora Infrastructure Team mohl odblokovat syrské IP adresy.
Ministerstvo zahraničí Spojených států amerických vyvíjí online portál Freedom.gov, který umožní nejenom uživatelům v Evropě přístup k obsahu blokovanému jejich vládami. Portál bude patrně obsahovat VPN funkci maskující uživatelský provoz tak, aby se jevil jako pocházející z USA. Projekt měl být původně představen již na letošní Mnichovské bezpečnostní konferenci, ale jeho spuštění bylo odloženo.
Byla vydána pro lidi zdarma ke stažení kniha The Book of Remind věnovaná sofistikovanému kalendáři a připomínači Remind.
Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.5.0. Oznámení připomíná 30. výročí vzniku projektu. Novinky zahrnují mj. vylepšení referencí nebo použití barev napříč aplikací, od rozhraní editoru po výstupní dokument.
F-Droid bannerem na svých stránkách a také v aplikacích F-Droid a F-Droid Basic upozorňuje na iniciativu Keep Android Open. Od září 2026 bude Android vyžadovat, aby všechny aplikace byly registrovány ověřenými vývojáři, aby mohly být nainstalovány na certifikovaných zařízeních Android. To ohrožuje alternativní obchody s aplikacemi jako F-Droid a možnost instalace aplikací mimo oficiální obchod (sideloading).
Svobodná historická realtimová strategie 0 A.D. (Wikipedie) byla vydána ve verzi 28 (0.28.0). Její kódový název je Boiorix. Představení novinek v poznámkách k vydání. Ke stažení také na Flathubu a Snapcraftu.
Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.
Aby bylo jasno, o čem bude řeč: Prompt, to je takové to user@localhost $ nebo třeba bash-4.1#, které vidíte v konzoli. Prompt lze nastavit tak, aby zobrazoval (vám) užitečné informace a navíc ještě vypadal dobře, což se vyplatí, trávíte-li v shellu aspoň nějaký čas.
Jak se to dělá? Nastavením proměnné PS1 na požadovanou hodnotu. Chcete-li například, aby výzva obsahovala pouze znak ">", nastavte PS1 takto:
PS1="> "
Aby toto nastavení přetrvalo i po ukončení shellu a použilo se pro další vytvořené shelly, přidejte deklaraci proměnné do souboru ~/.bashrc či ~/.bash_profile, pokud chcete nastavit prompt pouze pro uživatele, pod kterým pracujete, anebo do souboru /etc/bashrc (případně /etc/bash/bashrc, třeba na Gentoo), pokud chcete nastavit prompt pro všechny.
Pokud chcete používat takto chudý prompt např. z důvodu nedostatku místa na malé obrazovce mobilu, tak budiž, ale my si dále ukážeme, jak do promptu dostat nějaké užitečné informace. Manuálová stránka Bashe v sekci PROMPTING obsahuje přehled hodnot, které když do PS1 přidáte, tak se automaticky nahradí za požadovanou informaci. Některé z nich si vyjmenujeme a popíšeme:
/home/dave) je zkrácen na tildu (~)./tmp/x/y, zobrazí y).Předpokládejme počítač s názvem amd64.watzke.cz a uživatelem dave. Ukážeme si několik ukázkových zápisů PS1:
PS1="\u@\h \w \$ " # bude vypadat takto: dave@amd64 /tmp $ PS1="[\u \H \A \W]\$ " # [dave amd64.watzke.cz 16:55 tmp]$ PS1="\u [\j]> " # dave [2]>
Toto je základní způsob, jak do promptu dostat informace. Teď bychom je mohli ještě obarvit, jelikož to může zlepšit přehlednost a my pak rychleji najdeme tu konkrétní informaci, kterou zrovna hledáme. Obarvení se provádí tak, jak jsem nedávno popisoval v článku Barevný a formátovaný text v terminálu. Akorát je zde jedna maličkost. Přestože to funguje i bez toho, je vhodné přidat před každou escapovací sekvenci \[ a za ní pak \]. Dělá se to z toho důvodu, aby Bash věděl, že jde o „netisknutelné“ znaky (pouze mění formátování, nevloží žádný znak) a nezapočítával je do délky promptu, protože to způsobuje problémy se zalamováním, když zadáte nějaký dlouhý příkaz. Takže třeba červeného textu docílíte takto:
\[\033[31\]Červený text…\[\033[0m\]
Jestli vám zápisy formátování připadaly nepřehledné předtím, teď to celé dostalo nový rozměr. Proto je vhodné uložit si jednotlivé barvy do proměnných a ty pak použít při tvoření PS1.
KONEC="\[\033[0m\]"
TYRKYSOVA="\[\033[36;1m\]"
CERVENA="\[\033[31;1m\]"
PS1="${TYRKYSOVA}\u${KONEC}@${CERVENA}\h${KONEC} \$ " # dave@amd64 $
Opět připomínám, že formátování je třeba ukončovat (proměnná KONEC).
Tak už umíme sestavit barevný prompt. Je na čase si trochu rozšířit obzory. Jelikož lze do PS1 nacpat opravdu cokoliv a Bash svými speciálními sekvencemi typu \h pochopitelně nepokrývá všech nekonečno možností, je zde proměnná PROMPT_COMMAND. Do této proměnné můžete vložit příkaz, který daný prompt vygeneruje a nastaví. Vhodné je nastavit proměnnou třeba takto:
PROMPT_COMMAND="source $HOME/.prompt.sh"
Ale ještě předtím je třeba vytvořit soubor ~/.prompt.sh, ve kterém se proměnná PS1 nastaví. Může to být bashový skript se vším, co k tomu patří. Například můj prompt vypadá takto:
#!/bin/bash
S=$?
END="\[\e[0m\]"
RED="\[\e[31;1m\]"
CYAN="\[\e[36;1m\]"
GREEN="\[\e[32;1m\]"
YELLOW="\[\e[33;1m\]"
if [[ $S -eq 0 ]]; then
DOLLAR="${YELLOW}\$"
else
DOLLAR="${RED}\$"
fi
PS1="${CYAN}\u${END}@${RED}\h${END} ${GREEN}\w${END} ${DOLLAR}${END} "
Vlastně jediným důvodem, proč jsem si vytvářel skript na nastavení PS1, je nastavení barvy znaku dolaru, který je na konci. Barva závisí na návratové hodnotě naposledy spuštěného příkazu. Když je hodnota rovna 0 (příkaz se vykoná s úspěchem), dolar je žlutý, jinak je červený.
Ovšem pozor na to, vy si můžete vymýšlet daleko víc než já. Můžete si do promptu vložit výpisy z programů a podobně. Nic vám nebrání vložit tam třeba teplotu procesoru:
# tohle je velice specifický zápis (pro konkrétní senzorový čip),
# ale je to tak rychlejší než parsovat výstup příkazu sensors
CPU=$(( $(</sys/devices/platform/it87.656/temp1_input) / 1000 ))
# nastaví CPU_COLOR podle teploty procesoru
if [[ $CPU -gt 60 ]]; then
CPU_COLOR="$RED"
elif [[ $CPU -gt 50 ]]; then
CPU_COLOR="$YELLOW"
else
CPU_COLOR="$GREEN"
fi
# prompt bude vypadat takto: dave@amd64 [57°C]
PS1="\u@\h [${CPU_COLOR}${CPU}°C${END}] "
V případě, že se rozhodnete používat PROMPT_COMMAND, stačí tuto proměnnou nastavit v některém ze souborů, kam byste jinak uložili PS1 (viz začátek článku).
Za zmínku stojí ještě proměnná PS2. Řetězec, který drží, se vypíše s každým odřádkováním při psaní víceřádkového příkazu. Výchozí hodnota je "> ".
for((i=0;i<10;i++)); do > echo "číslo $i" > done # pro milovníky pythonního interpreteru PS2="... " for((i=0;i<10;i++)); do ... echo "číslo $i" ... done
Pokud používáte xterm, můžete si nastavovat i titulek okna přidáním následující sekvence do proměnné PS1:
\[\033]0;Titulek\007\]
Pro přehlednost to můžete udělat až po nastavení PS1 takto:
case "$TERM" in xterm*) TITLEBAR="\[\033]0;cwd: \w\007\]" *) TITLEBAR="" esac PS1="$TITLEBAR\ $PS1"
Jak jsem teď naznačil v kódu, je vhodné kontrolovat, zda jsme v xtermu, nebo ne, protože na VT tato sekvence přidá nesmysly do promptu.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
PS1="\h@\u \w \$ " # bude vypadat takto: dave@amd64 /tmp $
je prohozené \h a \u.
\[\033[01;31m\]${?/#0/}\[\033[01;36m\]
Hlavny trik je ${?/#0/}, ktory zabezpeci vypis/nevypis podla navratovej hodnoty aj bez spustenia procesu.
$ echo $$ `if [[ 0 -eq 0 ]] ; then echo $$; fi` 10184 10184
$ echo $$ `ll /proc/self` 7651 lrwxrwxrwx 1 root root 64 2010-03-17 20:15 /proc/self -> 4123/
Ignorovat, prosím.
echo $$ echo `echo $$` echo `ls; echo $$`To vyzera, ze ani nerozlisuje, ci treba pustat novy proces alebo si vystaci sam, ale skutocne to vykonava v kontexte jedneho procesu
$ echo -e "$$ \n`ls -l /proc/self; echo $$`" 5287 lrwxrwxrwx 1 root root 64 2010-03-18 08:57 /proc/self -> 10210 5287
$$ Expands to the process ID of the shell. In a () subshell, it expands to the process ID of the current shell, not the subshell.Ked som skusil nieco ako grep napisane v cistom bashi, tak sa pid meni:
$ echo $$ 6096 $ echo `while read l; do [[ "$l" == Pid:* ]] && echo "$l"; done </proc/self/status` Pid: 7667 $ echo `while read l; do [[ "$l" == Pid:* ]] && echo "$l"; done </proc/self/status` Pid: 7668Trocha to vidno na premennej BASH_SUBSHELL
$ echo $BASH_SUBSHELL 0 $ echo `$ echo $BASH_SUBSHELL` 1
echo $$ `echo \$\$` 18053 18053 echo $$; (eval echo '$$') 18053 18053 echo $$ ` (eval echo '\$\$') ` 18053 18053Pokud chcete definitivní odpověď, zkuste strace
it expands to the process ID of the current shell, not the subshell.aj pozdna expanzia vracia pid nadradeneho shellu. Nesfalsovanu hodnotu som ziskal z /proc/self/status. Ked som sa externym strace pripojil na bash a spustil
echo `echo \$\$`, tak vo vypise syscallov je pipe a hned za nim clone. Takze proces sa vytvara.
Já kdysi používal něco takového, ale když se na to dívám zpětně, asi bych už takovou šílenost nikdy znovu nechtěl 
)))), tak tos byl fakt vostrej; kdyz jsem zacinal s linuxem, tak bych si to tam asi taky dal...
jo tak tuhle zrudu jsem pouzival taky
Hehe, tak to je nás viac (resp. bolo) 
Ja to mam takto a staci mi :
[ martin@~/workspace/ ]:16:25:^_^:
> qwert
bash: qwert: command not found
[ martin@~/workspace/ ]:16:39:-_-:
>
$ mc bash: mc: command not found
myslím totiž, že je hlopé, pokud je výstup příkazů true a false (a nejen tech) naprosto identický...