Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.
Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.
Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.
Společnost OpenAI představila GPT-5 (YouTube).
Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.
Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.
Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.
Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.
#!/bin/bash cert="server.crt" key="server.key" cat >/etc/openvpn/server.conf <<EOF proto udp dev tun port 1194 ca ca.crt cert $cert key $key EOF systemctl restart openvpnOtázkou je, zda to je opravdu dobrý nápad a nešlo by to nějak lépe a jednodušeji.
sed '23s/.*/#&/' /etc/openvpn/server.conf && service openvpn restart &
Je jasne, ze zmeny v tomto confe a restart sluzby moze robit len rootsudo
ale zatial neviem ako pridat do urciteho riadku "#" resp. ako editovat konkretny riadoksed -ire "s/^(řádek)$/#\1/"
+ nejaky sleepProč?
$ line=`cat -n /etc/openvpn/server.conf|grep "search text"|awk '{print $1}'` $ echo "je na riadku: $riadok"
$ chmod 700 comment_and_restart uncomment_and_restartSpustenie:
$ ./comment_and_restart
$ ./uncomment_and_restartSubor service.conf
id=persone name=Unknow last_name=LASTSubor config.php
<?php $path_conf="service.conf"; $search="name=Unknow"; ?>Subor comment_and_restart
#!/usr/bin/php <?php include "config.php"; function comment_in_file($path, $search) { /* * Read file */ /* read file as "C array" */ $file=@file($path); if($file === false) { fputs(STDERR, "Error open/read file '$path'\n"); exit(1); } // print_r($file); // vypis na overenie /* * Comming in memory */ $count=count($file); for($a=0;$a<$count; $a++) if(strpos($file[$a], $search) !== false) { if($file[$a][0] != "#") $file[$a]= "#".$file[$a]; else fputs(STDERR, "Warning: Uncomment line $a in '$path'\n"); // break; # uncomment this, if only first searched line } /* * Write from memory to file */ if(file_put_contents($path, $file) === false) { fputs(STDERR, "Error open/write file '$path'\n"); exit(1); } } comment_in_file($path_conf, $search); sleep(2); system("systemctl restart openvpn"); ?>Subor uncomment_and_restart
#!/usr/bin/php <?php include "config.php"; function uncomment_in_file($path, $search) { /* * Read file */ /* nacita pole ako "C array" */ $file=@file($path); if($file === false) { fputs(STDERR, "Error open/read file '$path'\n"); exit(1); } // print_r($file); // vypis na overenie /* * Uncomment in memory */ $count=count($file); for($a=0;$a<$count; $a++) if(strpos($file[$a], $search) !== false) { if($file[$a][0] == "#") $file[$a]= substr($file[$a], 1); else fputs(STDERR, "Warning: Uncomment line $a in '$path'\n"); // break; # uncomment this, if only first searched line } /* * Write from memory to file */ if(file_put_contents($path, $file) === false) { fputs(STDERR, "Error open/write file '$path'\n"); exit(1); } } uncomment_in_file($path_conf, $search) sleep(2); system("systemctl restart openvpn"); ?>
PHP není C, proto je generování chybových hlášek zbytečné a ty zavináče před file() takéNie je. Ale je s nim dost podobny. ... Da sa aj povedal "super C" (pokial viete C). ... A ano. Pouzil som tento pristup, lebo je najlahsi na pochopenie. Pre nezainteresovaneho.
oužíváš cyklus for tam, kde patří foreach - soubor není pole řádek, ale seznam řádekAj tak interne sa musi pouzit nejake for. Jednoduchost. A ulahcuje mi to zmenu riadku. Lebo napr. toto nefunguje:
<?php $array=array("1","2","3","4"); foreach($array as $line) if($line == "3") { echo "set 'X' for value '$line'\n"; $line="X"; } print_r($array); ?>vystup:
set 'X' for value '3' Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )Vdaka za konstr. kritiku.
Máš to rozstrkané ve třech souborech, přitom by stačil jeden parametrizovanýPre jednoduchost. ... Logicku funkcnost si moze sam dat do 1 suboru, alebo napisat. Lahsie napisat "./bla" ako "./rob bla".
Zapomínáš psát složené závorky. Je to sice jen kosmetická vada, ale časem se ti to vymstíAk je 1 podmienka, nepisem ju - moj programatorsky styl.
foreach ($array as &$line)
se už bude chovat správně. Jenže když to chceš mít rychlejší, tak je obvykle výhodnější generovat nový seznam.
<?php $array = array("1", "2", "3", "4"); $output = array(); foreach ($array as $line) { if ($line == "3") { $line="X"; } $output[] = $line; } print_r($output);Jenže PHP umí jít ještě dále:
<?php $array = array("1", "2", "3", "4"); $komentuj = function ($line) { return ($line == "3") ? "X" : $line; }; print_r(array_map($komentuj, $array));
sed -i -e ' /#NastaveniKtereChciMenit/ s/No/Yes/ /#NastaveniKtereChciMenit/ s/^#// /^NastaveniKtereChciTakyMenit/ s/^/#/ /^DalsiNastaveniKtereChciMenit/ s/bila/cerna/ ' /etc/MojeSluzba/konfigurak
Tiskni
Sdílej: