Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 9.0. Přehled novinek v příspěvku na blogu.
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.
Mám soubor menu.sh a po spuštění se mi zobrazí nějaká nabídka která dle výběru provede tohle echo "cat /var/log/system.log"; Jenže já bych potřeboval aby se cely script v souboru menu.sh ukoncil a zustal v CL jen tento prikaz který když kliknu enter spustim. cat /var/log/system.log Poradí někdo?
Řešení dotazu:
Jde to pomocí TIOCSTI
ioctl.
Ale ať už se snažíte o cokoli, jsem si téměř jistý, že tohle není vhodný způsob, jak to řešit.
A co je smyslem? Aby si uživatel mohl ten příkaz doupravit a pak ho teprve odentrovat?Přesně tak, upravím příkaz a odentruju..
Pokud nestačí BASH (např. jeho Ctrl+R – spouštění příkazů z historie)CTRL+R není taky žádné vítězství :(
tak si asi budeš muset udělat nějaký svůj shell (místo toho menu.sh), ve kterém vybereš z nabídky, upravíš a spustíšNo ale jak? Na to se ptám od začátku ;)
read -p "> " -e -i "echo aaa" cmd eval "$cmd"
#!/bin/bash
clear
read -p "> " -e -i "echo /etc/init.d/apache2 restart" cmd
eval "$cmd"
Výsledek
root@srv:/# sh menu.sh
read: 3: Illegal option -e
root@srv:/#
Díky
_menu_driven_command() { local cur="${COMP_WORDS[COMP_CWORD]}" local first=${COMP_WORDS[1]} local clist="cat tail" if [[ $COMP_CWORD -eq 1 ]]; then COMPREPLY=($(compgen -W "$clist" -- "$cur")) else case "$first" in cat) COMPREPLY="$(kdialog --inputbox "Choose file" "/var/log/messages")" ;; tail) COMPREPLY="$(kdialog --inputbox "Choose file" "/var/log/messages")" ;; esac fi } complete -F _menu_driven_command mdc mdc() { eval $@ }Použití:
bash$ mdc <TAB> bash$ mdc cat tail [ash@ashnb /dev/pts/7 (2) 10:53 ~] bash$ mdc tail <TAB> ...následuje GUI dialog... bash$ mdc tail /var/log/messagesPoužitý
kdialog
by bylo potřeba nahradit nějakým sotisfikovanějším menu dle vašich potřeb, podstatné je, aby na stdout vrátilo výsledný řetězec parametrů, což asi nebude problém.
alias
, případně upravit .inputrc
?
Také by se ta nabídka mohla generovat utilitou find
, která by rovnou nabídla vhodné soubory.
cl_copy () { CTRL + C = "/etc/init.d/apache2 restart" }Je to možný? Díky
Tiskni
Sdílej: