Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.11.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest (Wikipedie) v říjnu loňského roku přejmenovaný na Luanti.
V stredu 19. 02. 2025 o 10:00h bude spustený jarný webinár zdarma. Na tomto webinári si ukážeme praktické ukážky monitorovania Prometheus endpointov s využitím nástroja Zabbix. Účastníci sa dozvedia, ako nastaviť a konfigurovať Zabbix na zber dát z prometheus exporterov vrátane vytvárania LLD pravidiel. Tento webinár je určený pre mierne pokročilých administrátorov Zabbixu. Registrácia na stránke: Axians Slovakia. Zoznam všetkých webinárov: Axians Slovakia webináre.
Byla vydána beta verze GNOME 48. Vyzkoušet lze instalační ISO GNOME OS. Vydání GNOME 48 je plánováno na březen.
Bochs (Wikipedie), tj. emulátor počítačů typu x86 a x86-64, byl vydán ve verzi 3.0.
Věříte své kalkulačce? Kolik je (10^100) + 1 − (10^100)? A kolik 1%−1%?
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
FlappyFavi, hra Flappy Bird v ikoně Favicon. Nefunguje na mobilech.
Byly vyhlášeny výsledky (YouTube) 28. ročníku D.I.C.E. (Design, Innovate, Communicate, Entertain) Awards: Hrou roku 2024 je Astro Bot.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Vývojáři openSUSE Tumbleweed oznámili, že u nových instalací se ve výchozím stavu přechází z AppArmor na SELinux. Uživatelé, kteří chtějí zůstat na AppArmor si mohou AppArmor vybrat v instalátoru.
echo "Toto uložím do souboru" > /tmp/test.txt pokud více textu, tak echo "Toto uložím do souboru" > /tmp/test.txt echo "Toto taky uložím do souboru" >> /tmp/test.txt echo "A toto taky uložím do souboru" >> /tmp/test.txtCo nevím je, jak uložit nějaká data do souboru když je toho třeba na 500 řádků, to musím napsat každý řádek zvlášť s použitím echa.../printf...? Poradí někdo? Dík
Řešení dotazu:
cat >soubor <<EOF text text ... EOF(b) použij exec
exec >souborToto je velmi pěkná a silná konstrukce v krátkých skiptech, ale jelikož ovlivňuje globálně stav shellu, tak není moc vhodná v situacích, kdy se má část skriptu/funkce chovat jako prostá funkce (neovliňující globální stav).
foo() { echo text echo text ... } foo >soubor
echo "standartni vystup" # zalohuj stdout exec 5>&1 # presmeruj stdout do soboru exec >out.txt echo "vystup do souboru" echo "standartni vystup" >&5 # obnov stdout exec 1>&5 echo "standartni vystup"
script my.out #ls ... exita vsetok output bude v
my.out
Asi nerozumiem, bo na to, aby vase c) platilo, tak by musel byt na to skript pripraveny. To znamena, ze by v nom muselo byt nieco, co berie v uvahu moznost, ze sa ako argument zada cesta k suboru, do ktoreho sa vystup samotneho skriptu zapise. Ale urcite takto nefunguje kazdy skript, vid :
#!/bin/bash data(){ cat <<_EOF skript: "$0" pracovny adresar: "$PWD" date: "$(date)" _EOF } echo "Viem o argumente: $1 , ale ma vobec nezaujima, takze to dam sem " data
patrik@thinkpad:~$ bash ./test.bash my.out Viem o argumente: my.out , ale ma vobec nezaujima, takze to dam sem skript: "./test.bash" pracovany adresar: "/home/patrik" date: "Mon Dec 10 16:51:18 GMT 2012"
Zadavatel dotazu sa snazi vytvorit vystup, ktory sa presmeruje do suboru.
Ak by ste ale napisal:
skript > my.out
tak mate pravdu v tom, ze to bude v subore zapisane a to funguje vzdy, no stale to nie je odpovedou na dane zadanie. Riesenie s here dokumentom je podla mojho nazoru najidealnejsie, pokial sa nechceme starat aj o distribuciu dalsich suborov ako len samotneho skriptu.
script
sluzi na jednu vec:
script -- make typescript of terminal sessionnajvhodnejsia odpoved na autorovu otazku je to a). z toho b) mi prislo vhodne spomenut /viacmenej na okraj/ aj to moje c). do shelloveho scriptu by som ho ale nepouzil, na to je vhodne standardne presmerovanie.
Dik za rozsirenie obzorov, som o tom ani netusil, ze nieco take existuje a v spojitosti s jazykom (pisanim) ako napr. "dame session a pod.", co sa dneska pouziva, je naozaj niekedy zlozite vediet alebo pochopit, co vlastne autor mal na mysli. Vy ste to nepouzil, len mi to tak v prvom momente prislo ( script == skript ale v skutocnosti vo vasom prispevku script != skript ). Takze moja nevedomost a dnesny sposob vyjadrovania urobili svoje. :)
script
sa zide hlavne pri generovani logov/dumpov z FW, konzol a pod.
data.txt
a v skripte sa ich zapísanie do súboru scrvkne na triviálne
cp /path/to/data.txt /tmp/test.txtalebo
cat /path/to/data.txt > /tmp/test.txtpričom neskôr je jednoduché pridať ich predspracovanie, napr.:
cat /pat/to/data.txt | grep -i ... | sed -e ... | cut -f ... | tr -d ... | sort -k ... > /tmp/test.txt[... a vyhrať dnešné kolo súťaže o najzbytočnejší
cat
, ja viem. cat >suborNapisat vsetky riadky (alebo vlozit/skopirovat) a na konci na novom riadku CTRL+D (teda koniec suboru/vstupu)
když je toho třeba na 500 řádků, to musím napsat každý řádek zvlášťNemusíš – klidně můžeš na prvním řádku otevřít uvozovky a ukončit je až na posledním. Akorát se ti nesmí vyskytovat uvnitř textu (tam je escapuješ jako \")
echo "toto je první řádek normálně pokračujeme dál tady nějaký text v \"uvozovkách\" poslední řádek" > /tmp/test.txtPřípadně místo uvozovek můžeš použít apostrofy – podle toho, čeho máš v textu míň – takhle jde krásně zapisovat třeba XML do BASH skriptů. Akorát pozor na $ v případě uvozovek, aby se to neinterpretovalo jako proměnné.
... Akorát se ti nesmí vyskytovat uvnitř textu (tam je escapuješ jako \") ... ... Akorát pozor na $ v případě uvozovek, ...Akurát, že je okolo toho veľa "akurát". V prípade 500 riadkov by fakt bolo na mieste oddeliť údaje od ich spracovania. Možno keby sme vedeli, aký problém vlastne riešime, mohli by sme radiť lepšie.
cat
em. Heredoc by také nemusel být špatný.
Pro 500 řádek by se asi vyplatilo je umístit do nějakého souboru a vypsat cat
em.
Takto?
<![CDATA[…]]>
v XML – když se člověku nechce escapovat speciální znaky a místo toho ohraničí konec textu nějakou speciální sekvencí. Ale zdaleka ne vždy je to potřeba. Proč to dělat složitě, když to jde jednoduše?
Když jazyk umožňuje mít řetězec v uvozovkách apostrofech na víc řádků, tak to přece není žádné prasení, ale využívání možností jazyka.
Proč by mělo být tohle:
cat <<"EEE" ahoj $1, jak to jde? EEE cat <<EEE ahoj $1, jak to jde? EEE read a <<EOF omfg omfg EOFsprávnější než tohle:
echo 'ahoj $1, jak to jde?'; echo "ahoj $1, jak to jde?"; a="omfg omfg";? Na používání "…" a '…' na více řádků nevidím nic špatného.
Proč to dělat složitě, když to jde jednoduše?S tím souhlasím, proto bych taky uvedené krátké příklady psal
echo -e "ahoj $1,\njak to jde?" echo -e 'ahoj $1,\njak to jde?' a=$'omfg\nomfg'aby se s nimi snáz pracovalo.
print nějaký\"html\"řádek print dalsi\"radek\" ....
echo "Toto uložím do souboru" > /tmp/test.txt echo "Toto taky uložím do souboru" >> /tmp/test.txt echo "A toto taky uložím do souboru" >> /tmp/test.txttak je nejjednodušším a nejpřímočařejším vylepšením jeho kódu to, že prostě uvozovky neukončí a normálně vkládá konce řádků, pokračuje dál a dál a nemusí je ukončovat a posílat do souboru jednotlivé řádky. Heredoc je samozřejmě taky dobré zmínit, ale v první řadě se hodí vědět, že BASH podporuje víceřádkový text v uvozovkách/apostrofech.
Tiskni
Sdílej: