Z aktualizovaného seznamu chyb (pdf) procesoru AMD EPYC 7002: #1474 - procesor se po 1044 dnech od posledního resetu zasekne [reddit].
Fossil (Wikipedie) byl vydán ve verzi 2.22. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
David Malcolm se ve svém příspěvku na blogu vývojářů Red Hatu rozepsal o vylepšeních statické analýzy (volba -fanalyzer) v GCC 13.
Byla vydána nová stabilní verze 23.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Stoat. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Příspěvek na blogu CZ.NIC upozorňuje na nový útok na weby v Česku. Na honeypotech na Turrisech byla zaznamenána nová aktivita útočníků - probíhající útok na FTP servery, které se vyskytují na stejné IP adrese, jako aktivní WEB server.
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi 2023.05. Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Linux Foundation Europe představila projekt RISE (RISC-V Software Ecosystem), jehož cílem je urychlit vývoj open source softwaru pro architekturu RISC-V.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu pro jednodeskové počítače na platformě ARM, byl vydán ve verzi 23.05. Přehled novinek v Changelogu.
Minulý týden proběhla openSUSE Conference 2023. Mimo jiné bylo oznámeno přejmenování systému MicroOS Desktop. MicroOS Desktop GNOME byl přejmenován na openSUSE Aeon a MicroOS Desktop Plasma na openSUSE Kalpa.
Thom Holwerda z OSnews si všímá, že vývoj operačního systému MINIX je prakticky mrtvý. Jeho hlavní autor, Andrew Tanenbaum, formálně odešel do důchodu v roce 2014 a příspěvky do kódu v následujících letech vůbec ustaly. Stav projektu shrnuje diskuze z roku 2020. Sice vyšlo najevo, že Intel používal MINIX v Management Engine, ale změny nezveřejňoval.
#!/bin/sh BINDIR=/usr/local/bin SYSDIR=/usr/local/lib/xe BIODIR=${SYSDIR}/bios if [ `whoami` == root ]; then # must be logged as root for i in $SYSDIR $BIODIR; do if [ ! -d $i ]; then # if dir does not exist, create mkdir $i >& /dev/null if [ $? != 0 ]; then echo unable to create $i exit fi fi done cp -rf xe modules rc manual.html $SYSDIR >& /dev/null # Copy files if [ $? != 0 ]; then echo unable copy files to $SYSDIR exit fi ln -sf $SYSDIR/xe $BINDIR/xe # link binary to bin path if [ $? != 0 ]; then echo unable to link $BINDIR/xe exit fi echo xe successfully installed # done else echo Must be logged on as root. fiI přesto, že sem přihlášenej jako root, tak mi to hlásí že root nejsem
Řešení dotazu:
Porovnávání na rovnost u standardního příkazu test
(jehož synonymem je levá hranatá závorka) se provádí jedním rovnítkem. Operátor '==
' je specialita konstrukce '[[ ... ]]
' v bashi. Takže buď
#!/bin/sh ... if [ `whoami` = root ]; ...nebo
#!/bin/bash ... if [[ `whoami` == root ]]; ...
Osobně bych ale spíš číselně porovnával $UID
nebo `id -u`
na nulu.
Koukám, že je tam toho víc. Na řádku 11 máte další bashismus: přesměrování pomocí >&
v normálním Bourne shellu nefunguje (a i dokumentace bashe preferuje zápis &>
, aby se to nepletlo s připojením k deskriptoru).
Zápis
příkaz if [ $? != 0 ]; then
sice funguje, ale je zbytečně nepraktický - téhož dosáhnete pomocí
if ! příkaz; then
A pokud skript končí chybou, měl by vrátit nenulovou návratovou hodnotu, tj. např. 'exit 1
' místo 'exit
'.
Tečka tam asi nakonci nepatří co?
Jedinou tečku vidím na konci řádku 35 a ta určitě ničemu nevadí.
Tiskni
Sdílej: