Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.
Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.
Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.
Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.
Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.
GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.
Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).
Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.
Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].
Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.
píši si jednořádkový příkaz, ale narazil jsem na problém. Vysvětlí mi někdo, jaktože toto pracuje:
#!/bin/sh if [ 0 ] ; then echo jop; fi exit 0
Ale v řádce ne?
# if [ 0 ] ; then echo jop; fi
A jak to tedy mám správně zapsat, aby byl stejný výsledek?
Zkoušel jsem různě uvozovat backslashem, ale asi nemůžu najít správnou kombinaci
[petr@nt ~]$ cat pokus.sh #!/bin/sh if [ 0 ]; then echo jop ; fi [petr@nt ~]$ ./pokus.sh jop [petr@nt ~]$Jinak viz: BASH - III
[petr@nt ~]$ if [ 0 ]; then echo "jop"; fi
if [ 0 ]; then echo "kkt"; fi
find . -type f -exec if [ 0 ] ; then echo jop ; fi \;
find . -name "*.txt" -exec bash -c 'if [ 0 ] ; then echo jop ; fi' \;
[petr@nt ~]$ if [ 0 ]; then echo "jop"; fi jop [petr@nt ~]$
jop
a…a jop
.
$(command)
neuspějete (Vyjma Oracle Solaris 11 Express, kde /*bin/sh je link na KSH93).
Nejen Linuxem živ jest člověk, pokud to není nezbytně nutné, není od věci udržet si maximální kompatibilitu. V tomto případě např. pokud nezbytně nepotřebuji vnořené příkazy, použiji `command`
, ne $(command)
(i když zde by mohl padnout ještě estetický argument a samozřejmě otázka čitelnosti).
Já osobně pointu pisatele chápu jako upozornění, že není dobré bezhlavě věřit, že vše, na co jsem v Linuxu zvyklý mi bude všude fungovat, když použiji /bin/sh. Pokud mi jde o bash syntaxi, lépe neříkat #!/bin/sh
, ale #!/bin/bash
, protože výslovně vyjádřím to, co jsem zřejmě předpokládal. Prostě rozšiřoval obzory a to je podle mě dobře, ne špatně.
Tohle už není záležitost shellu, ale obvykle je dobrým zdrojem zábavy posadit Linuxového uživatele/admina před Solaris a říct mu, by zabil všechny procesy s daným jménem. ;)
Minimálně na Solarisu … třeba zrovna s $(command)
neuspějete … Nejen Linuxem živ jest člověk
Ta konstrukce je součástí POSIX specifikace, takže je-li tomu tak, je to jednoznačně chyba Solarisu.
$ /bin/sh $ uname -sr SunOS 5.10 $ echo $(ls) syntax error: `(' unexpected $
DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible.A blbe to pochopil :-P
Tiskni
Sdílej: