Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.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.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
gcc --version gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.S awk neumím, děkuji za ochotu...
Řešení dotazu:
Střílím od boku
#!/bin/bash
verze_gcc=$(`which gcc` --version | grep 'gcc' | awk '{printf $4 };')
if [ -n verze_gcc ];then
echo "Verze GCC je $verze_gcc"
else
echo "GCC není nainstalováno"
fi
oprava uvozovek
#!/bin/bash
verze_gcc=$(`which gcc` --version | grep 'gcc' | awk '{printf $4 };')
if [ -n "$verze_gcc" ];then
echo "Verze GCC je $verze_gcc"
else
echo "GCC není nainstalováno"
fi
`which gcc`
oproti
gcc
? Nepočítaje to, že při neexistujícím gcc první chybovou hlášku vyhodí už to which a následně se to pokusí spustit program jménem --version, což lze za zlepšení považovat jen stěží.
Jaký je význam spoustění awk na výstpu grepu?
Navíc to IMO vůbec neřeší problém, tedy co za roztodivné věci se mohou objevit v té závorce.
přidá tam i cestu k gcc
pepe@PC-Pepe:~$ which gcc
/usr/bin/gcc
pepe@PC-Pepe:~$ verze_gcc=$(`which lolo` --version | grep 'gcc' | awk '{printf $4 };')
--version: command not found
pepe@PC-Pepe:~$ echo $verze_gcc
pepe@PC-Pepe:~$
takze ikdyz gcc neni tak hlasku to vyplni ale script pozna ze gcc neni protoze promena verze_gcc nebude obsahovat nic
gcc (Debian 4.3.2-1.1) 4.3.2 gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9) gcc (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292] gcc (SUSE Linux) 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) etc.
awk '(NR==1){print gensub(/^gcc (\([^)]*\) *)?([0-9]+\.[^ ]+) .*/,"\\2","g")}'Vypíše se čistě verze, bez závorek před, po, dat a kdovíčeho. Pokud závorek před může být víc (neviděl jsem), tak by se ? musel nahradit *.
gcc --version | sed -n -e 's/^gcc ([^)]*) \([1-9.]*\)$/\1/p'
gcc --version | sed -ne 's/^gcc.* \([1-9.]*\)$/\1/p'
gcc --version | sed -ne 's/^gcc.*\s\([0-9]\.[0-9].[0-9]\)\($\|\s.*$\)/\1/p'
gcc --version | sed -ne 's/^gcc.*\s\([0-9]\.[0-9]\.[0-9]\)\($\|\s.*$\)/\1/p'
gcc -dumpversionJinak v aplikaci je přístupné makro __VERSION__ od kompilátoru
printf(__VERSION__);
Tiskni
Sdílej: