Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.
Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.
První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní
… více »3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.
SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.
Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…
Na Crowd Supply běží kampaň na podporu open source čtečky elektronických knih Open Book Touch. Postavena je na ESP32-S3. Má 4,26palcový dotykový e-papírový displej s rozlišením 480×800 pixelů, podsvícení, slot na microSD kartu. Cena je 149 dolarů a poštovné 12 dolarů. Dodání je plánováno na duben 2027.
Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.
Blender Studio nedávno oznámilo plán vytvořit svůj první otevřený (open source) celovečerní film. Film by se měl jmenovat Overgrown (YouTube). Film vznikne, pokud se zajistí financování. Prvním krokem je získat 7 000 předplatitelů Blender Studia. Cena je od 11,50 eur měsíčně. Aktuálně počet předplatitelů je 5 289. Předplatné pokryje 20 % nákladů. Zbytek, 80 % nákladů, má být financován externími producenty nebo distributory.
Chtel bych vedet, jak se to dela spravne. Procetl jsem par Bash Programming Howtos, ale nejak jsem nenasel odpoved.
Chci dosahnout aby mi funkce vratila hodnotu.
Vetsinou jsou vsude priklady, jak vratit ciselnou hodnotu, ale to nepracuje na string.
Zajima me tedy, jak vratit string/character hodnotu z funkce a jestli je to dobra practice?
Zda se vam, ze to delam spravne nebo ne:
#!/bin/bash
f_change () {
local changedWord=""
echo -e "give me word: "
read changedWord
echo $changedWord
eval $1=$changedWord
}
test="super"
echo -e "var before: $test"
f_change test
echo -e "Returned from function: $test"
eval… napište:
test "$1" = "$changedWord"Návratová hodnota funkce či jiného příkazu se ukládá do proměnné
$?, můžete ji přidat do posledního výpisu. Pravdivost je trochu neobvykle reprezentována hodnotou 0 a nepravdivost 1. Je tomu tak proto, že nula je návratovým kódem příkazů provedených úspěšně, zatímto nenulové hodnoty značí nesplnění úkonu, chybu.
Samozrejme je to zjednoduseny priklad. Jen me zajima, jak pasnout string a return string. Protoze u ciselnych hodnot se pouziva return, ale to na string nejak nefungovalo.
Jo jeste bych se chtel zeptat, proc "test". Jakou to ma funkci. Kdyz me odkaze na cteni, tak je to ok. Nic takoveho jsem na webu nenasel. Hledal jsem "bash programming function".
Mozna jeste jaky je rozdil v eval a test v tomto pripade. Vsechny ukazky scriptu co jsem nasel uvadely jen eval.
To je proto, že jsem si neuvědomil, že chcete, aby funkce vracela řetězec. Po té mnou navrhované změně by funkce porovnávala zadaný parametr s řetězcem získaným ze standardního vstupu, což je něco úplně jiného. Vracet řetězec není možné. Jednou z cest je to, co už tu bylo psáno:
function vstup() {
echo -n "Zadej něco: " 1>&2
read str
echo $str
}
HODNOTA="$(vstup)"
echo "Byl zadán tento řezězec: \"${HODNOTA}\""
Je třeba přesměrovat první echo na chybový výstup, protože funkce na standardní výstup pošle načtenou hodnotu.
Postupovat lze samozřejmě i jinak, totiž „změnit hodnotu proměnné“.
function vstup() {
echo -n "Zadej něco: " 1>&2
read $1
}
vstup HODNOTA
echo "Byl zadán tento řezězec: \"${HODNOTA}\""
function test(){
echo "result"
}
local v=$(test)
Na spouste webech se pise prave pres tu globalni promenou. Ale to se mi zda dost neprakticke. Chci mit funkci univerzalni, bez toho aniz by byla zavisla na globalni promene. Ale nevim jestli se to v Bash programovani da. Teda asi jo, viz muj priklad, ale nevim, jestli je to OK.
V C, Jave, atd, je normalni pasnout a vratit promene.
Nejsem velky programator, ale na vejsce jsem pres to prosel.
deb http://ftp.cz.debian.org/debian jessie main contrib non-freef() {
return $1
}
f 5
[[ $? == 5 ]] && echo hura
alebo ako radi kolega pnemec vyssie. Bash bezne nerozlisuje medzi textovou a ciselnou hodnotou. Preto mi v prikalde funguje test $? == 5 (textove porovnanie) a fungovalo by aj $? -eq 5 (cislene porovnanie). V podstate vsetko je text (ak nie je deklarovane inak), dokym sa k tomu neprisutpuje ako k cislu. Doporucujem man bash.
Dovolim si s vami nesouhlasit
Priklad, ktery jste uvedl plati jen pro ciselne hodnoty. Vyzkousejte si pasnout do funkce nejake slovo a return to nevrati.
Prave proto se tu ptam. Na internetu jsem toho precetl furu, ale moc nic nemuzu sehnat, protoze vsude jsou priklady jen na ciselne hodnoty.
Samozrejme to co jsem napsal je jen zjednoduseny priklad priklad.
Jedine co jsem nejak dal dohromady, je to co jsem tu napsal jako priklad. Proto jsem se zeptal jestli je to spravne, nebo jestli se to da udelat nejak lepe.
Co takhle, kdyby jste si to vyzkousel
. Jinak diky za snahu.
Funkce může vracet pouze celočíselnou hodnotu, pro přirovnání je to asi stejné jako kdyby jsi chtěl, aby návratová hodnota programu byl řetězec. Dívej se na to tak, že Bash funkce je program a její návratová hodnota informuje o jeho úspěšném/neúspěšném ukončení.
Jinak jak Ti radí výše, lze získat i řetězec pomocí echo.
Co se týče hledání a příkladu, tak ten je přímo tady na Ábíčku Funkce a příkazy
f() { echo $1; }
A=$(f xxx)
echo Return code: $?
echo Return value: $A
Tiskni
Sdílej: