Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
Zdravim.
Snazim sa o spravny zapis v tomto pripade:
#! /bin/bash
DATE="$(which date)"
NOW_CMD="$DATE +%s"
TODAY_CMD="$DATE +%F"
TOMORROW_CMD="$DATE -d tomorrow +%F"
# potialto je to v poriadku
# toto uz ale v poriadku nie je
SINCE="$DATE "$($TODAY_CMD) ${1}" +%s"
Potrebujem dostat vzdy aktualny cas v cykle a preto takto. Ci je to ten najidealnejsi sposob, neviem, ale ...
Vysledok vyssie uvedeneho prikladu je takyto:
pato@debian:~$ bash -x ./test.bash 15:00
++ which date
+ DATE=/bin/date
+ NOW_CMD='/bin/date +%s'
+ TODAY_CMD='/bin/date +%F'
+ TOMORROW_CMD='/bin/date -d tomorrow +%F'
++ /bin/date +%F
+ SINCE='/bin/date 2010-10-31'
+ '15:00 +%s'
./test.bash: line 50: 15:00 +%s: command not found
Ako ho donutit, aby to 15:00 bral ako vstup pre date a nie ako novy prikaz? Tusim v kostiach, ze to bude trivialne, ale mna tu nic nenapada momentalne. Dakujem.
Řešení dotazu:
$ date "2010-10-31 15:00" +%s date: nadbytečný operand „+%s“ Více informací získáte příkazem „date --help“.což nedává smysl. Můžete to nejdřív objasnit?
Presne, ja tomu rozumiem, co sa tam deje. Moj problem je, ako takemuto chovaniu zabranit/predist? Keby ste uvodzil hodnoty pre date, aby sa chovali ako jeden retazec, tak by dal spravny vysledok. Ako toto ale aplikovat do mojho postupu z prveho prispevku?
""treba escapnut, alebo prepisat na:
DATE="`which date`" # ; just in case
NOW_CMD="`$DATE +%s`"
TODAY_CMD="`$DATE +%F`"
TOMORROW_CMD="`$DATE -d tomorrow +%F`"
SINCE="`$DATE $($TODAY_CMD $1) +%s`"
pricom tie uvodzovky su tam pre istotu, keby naahodou date cmd bol v nestandardnej ceste, napr /usr/very\ nasty\ location/bin
pricom "2010-10-31 15:00" je blbost
Dakujem za prispevok, ale mam par pripomienok:
1. Co je blbost na tomto: "2010-10-31 15:00" ?
Skus toto:
date --date "2010-10-31 15:00" +%s
2. Ako escapujes ty? Lebo ja ziadne escapovanie nevidim v tvojej uprave.
3. V podstate si prepisal com som dal ja a plus jedna chyba. (ale to sa mi hovori, ked ja som mal vo svojom skriptu od zaciatku)
K tej chybe, toto je tvoje:
SINCE="`$DATE $($TODAY_CMD $1) +%s`"
co sa da zapisat aj takto:
SINCE="$(date --date $(date +%F 15:00) +%s)"
Spravne to je v mojom rieseni, je nutne prv vykonat date +%F a az potom pridat 15:00 k tomu. ;)
Toto je o tom prepisani vlastne;
VAR1="`date +%s`"
VAR2="$(date +%s)"
echo "$VAR1"
echo "$VAR2"
Tie sposoby zapisu su totiz ekvivalentom. Akurat ten druhy je lepsie citatelny a je mozne vnorovat dalsie a dalsie prikazy. Vid vlastne moje riesenie tejto temy. ;)
Kazdopadne, ziadna zast ani cokolvek ineho necitim. Snazil si sa pomoct, cenim si to a to je tak vsetko.
"2010-10-31 15:00" je datum a cas :) moja chyba
ja som hore uviedol,ze je mozne pouzit alt. zapis, kde sa potom nestratis v uvodzovkach (alebo aspon nie tak rychlo)date --date -> to uz ale meni podstatu toho, co ten script ma robit - preto som sa pytal, ze co chces dosiahnut a povedal, ze cmd "datum 14:00" je blbost .. v spojeni s prepinacom --date je to vsak uz cosi ine
hlavne, ze si to vyriesil :)
Ok, rozumiem. Ale popravde, to o tej blbosti mi pomohlo paradoxne najviac. Som ti chcel dat ten priklad a sa ukazalo, ze mi tam chybalo to --date. Samozrejme uplne vsade. :)
Co sa ale tyka toho alternativneho zapisu, mne nepride az taky prehladny. ;) Ale mozno vec nazoru.
Dobry den
Nepomohly by zpetne lomitka ?
SINCE="$DATE \"$($TODAY_CMD) ${1}\" +%s"
Dakujem, to som uz skusal, zial to nepomaha. Samotna hodnota SINCE je sice v spravnom tvare aj uvodzenie je spravne, ale pri jeho vykonani opat nastane rovnaky problem. Vid nizsie:
DATE="$(which date)"
NOW_CMD="$DATE +%s"
TODAY_CMD="$DATE +%F"
TOMORROW_CMD="$DATE -d tomorrow +%F"
# potialto je to v poriadku
# toto uz ale v poriadku nie je
SINCE="$DATE \"$($TODAY_CMD) ${1}\" +%s"
$SINCE
a vysledok:
pato@debian:~$ bash -x ./test.bash 15:00
++ which date
+ DATE=/bin/date
+ NOW_CMD='/bin/date +%s'
+ TODAY_CMD='/bin/date +%F'
+ TOMORROW_CMD='/bin/date -d tomorrow +%F'
++ /bin/date +%F
+ SINCE='/bin/date "2010-10-31 15:00" +%s'
+ /bin/date '"2010-10-31' '15:00"' +%s
/bin/date: extra operand `15:00"'
Try `/bin/date --help' for more information.
Kazdopadne dakuje, sam som to nespomenul predtym.
Vyriesene. Chyba bola trivialna, spravna syntax pre konvert daneho casu je nasledovna:
date --date "cas" +%[moznosti] # z hlavy som to pisal a nejak som pozabudol
Takze riesenie bolo uz v prvom mojom prispevku v poriadku, az na tu malickost:
DATE="$(which date)"
NOW_CMD="$DATE +%s"
TODAY_CMD="$DATE +%F"
TOMORROW_CMD="$DATE -d tomorrow +%F"
for INDEX in {1..9}
do
SINCE="$($DATE --date "$($TODAY_CMD) ${1}:0${INDEX}" +%s)"
sleep 1
done
a vysledok je presne ako som pozadoval, s kazdou jednou iteraciou ziskat aktualny cas:
pato@debian:~$ bash -x ./test.bash 14:00
++ which date
+ DATE=/bin/date
+ NOW_CMD='/bin/date +%s'
+ TODAY_CMD='/bin/date +%F'
+ TOMORROW_CMD='/bin/date -d tomorrow +%F'
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:01' +%s
+ SINCE=1288533601
+ sleep 1
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:02' +%s
+ SINCE=1288533602
+ sleep 1
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:03' +%s
+ SINCE=1288533603
+ sleep 1
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:04' +%s
+ SINCE=1288533604
+ sleep 1
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:05' +%s
+ SINCE=1288533605
+ sleep 1
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:06' +%s
+ SINCE=1288533606
+ sleep 1
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:07' +%s
+ SINCE=1288533607
+ sleep 1
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:08' +%s
+ SINCE=1288533608
+ sleep 1
+ for INDEX in '{1..9}'
+++ /bin/date +%F
++ /bin/date --date '2010-10-31 14:00:09' +%s
+ SINCE=1288533609
+ sleep 1
Takze uz je to v poriadku. Dakujem vsetkym.
Tiskni
Sdílej: