Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.
KiCad je nově k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit [Mastodon, 𝕏].
Šenčenská firma Seeed Studio představila projekt levného robotického ramena reBot Arm B601, primárně coby pomůcky pro studenty a výzkumníky. Paže má 6 stupňů volnosti, dosah 650 mm a nosnost 1,5 kilogramu, podporované platformy mají být ROS1, ROS2, LeRobot, Pinocchio a Isaac Sim, krom toho bude k dispozici vlastní SDK napsané v Pythonu. Kompletní seznam součástek, videonávody a nejspíš i cena budou zveřejněny až koncem tohoto měsíce.
… více »Byla vydána nová verze 36.0, tj. první stabilní verze nové řady 36, svobodného multimediálního centra MythTV (Wikipedie). Přehled novinek a vylepšení v poznámkách k vydání.
Byl vydán LineageOS 23.2 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu.
Od března budou mít uživatelé Discordu bez ověření věku pouze minimální práva vhodná pro teenagery.
Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »
Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.
Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.
Řešení dotazu:
#!/bin/sh SH=ksh; if [ $1 ]; then SH=$1; fi grep $SH /etc/passwd | cut -d':' -f1 | while read u; do lastlogin $u; done
trollkshlolo.
lastlogin (takový standardní Debian).
cut nebo grep --only-matching) a jak získat poslední login si budeš muset vygooglit. Pokud tohle po semestru na škole nedáš, zvážil bych se na to vykašlat.
#!/bin/sh
SH=ksh;
if [ $1 ]; then
SH=$1;
fi
lastlogin= last -1 <
grep $SH /etc/passwd | cut -d':' -f1 | while read u; do lastlogin $u; done
přidal jsem ten lastlogin, vidim ze cut uz tu pouzito je pro ziskani hodnoty shellu. tim by to melo byt ok (?)
ale jeste by tam melo byt nejake echo pro vypis tech uzivatelu co?
A tohle má dělat co? Já na Debianu lastlogin nemám, jenom lastlog, který spouštím třeba s parametrem -u uživatel, např.lastlogin= last -1 <
$ lastlog -u pepa Username Port From Latest pepa pts/5 2001:470:caee:1: Fri Dec 9 02:54:01 +0100 2011takže bych si zmíněné uživatele uložil do proměnné a potom udělal for cyklus, kde bych na ně vždycky spustil lastlog -u a vycutnul z druhého řádku username a datum.
grep $SH /etc/passwd
přidal jsem ten lastlogin, vidim ze cut uz tu pouzito je pro ziskani hodnoty shellu. tim by to melo byt ok (?)
Jak už bylo naznačeno, ok to není, vlastně je to zatím nefunkční :) Vizte můj nick, ale jinak používám bash, a vypsat uživatele co používají třeba ash byste chtěl jak? Chce to ještě doladit, máte štěstí že název shellu je v posledním sloupci, takže to půjde i tím grepem, ale ten regulární výraz (parametr grepu) bude potřeba vylepšit.
Pokud tomu dobre rozumim, tak na zacatku je inicializace default hodnoty shellu.
Pote je tady podminka if(ve ktere bohuzel moc nerozumim kontrukciif [ $1 ]; then SH=$1;Co se vlastne rovna(je prirazeno) SH?
Dale jsem se v diskuzi docetl ze bude lepsi pouzit getend pro ziskani jmena uzivatele. dale cut pro vybrani spravneho udaje.. Pak while read u; to podle me cte nalezeneho uzivatele a pro nej (do lastlog) vypise posledni prihlaseni.
Prosim vas pokud vidite chybu mohl byste mi ji opravit aby mi skript fungoval..? moje znalosti teto problematiky jsou celkem male narozdil od vas. Pracuji v OS Ubuntu.ps. v getend passwd podle me chybi neco, podle ceho daneho uzivatele hledat..(coz je vlastne zadana hodnota login shellu)..
#!/bin/sh SH=ksh; if [ $1 ]; then SH=$1; fi getent passwd | cut -d':' -f1 | while read u; do lastlog $u; done
./foo zshvyhleda posledni prihlaseni uzivatelu, kteri maji jako login shell nastaveny
zsh.ksh.
#!/bin/sh
SH=ksh;
if [ $1 ]; then
SH=$1;
fi
getent passwd | grep "/${SH}$" | cut -d':' -f1 | while read u; do last -1 $u; done
USERS=`getent passwd | grep "/bash$" | cut -d':' -f1` for USER in $USERS; do lastlog -u $USER | tail -n 1 | tr -s " " | cut -d " " -f 1,5-; done # FIXME: u uživatele, který se nikdy nepřihlásil, bychom místo prázdna mohli napsat, že se opravdu nikdy nepřihlásil
#!/bin/bash
USERS=`cat /etc/passwd | grep $1 | cut -d: -f1`
for i in $USERS
do
DATUM=`last | grep $i | head -n 1 | awk '{FS="\t"; print $5,$6,$7}'`
DELKA=`last | grep $i | head -n 1 | awk '{print $9}' | sed -e 's|[(,)]||g'`
if [ "$DELKA" = "logged" ]
then
DELKA='jeste ted'
fi
if [ -z "$DELKA" ]
then
echo "uzivate $i se neprihlasil"
else
echo "uzivate $i byl naposled prihlasen $DATUM a byl prihlasen po dobu $DELKA"
fi
done
ma to jen jednu chybu a to tu, ze pokud se uzivatel prihlasi lokalne na tty, tak to nevypise ani cislo displaye a ani ip u ssh. Je tam tedy nutne dat uz jen jednu podminku a to treba tu, ze pokud je na $5 nenachazi 3 znaky tak vytiskyni do DATUM $6,$7,$6. To same u DELKY, kde kdyz je aktualne prihlasen na tty se vytiskne neco jineho. Getenv bych moc nepouzival, ja treba jsem zjistil, ze ho nemam nainstalovany nikde
DATUM=`last | grep $i | head -n 1 | awk '{FS="\t"; print $5,$6,$7}'`
Já to zkouším na serveru, kde je asi 50 uživatelů a třeba 30 loginů denně, takže v tom vždycky vidím nějaký fail. Tady třeba v tom, že last mi vrací jenom záznamy od začátku prosince.
A jinak konstrukce typu log | grep foo nejsou obecně příliš šťastné, protože někteří divní uživatelé :) si volí takové přezdívky, že jsou buď podmnožinou jiného uživatelského jména, nebo se jejich nickname může vyskytnout dále v tom řádku (jméno konzole, hostname, datum…).
Tj. lepší by bylo last | grep "^foo ".
Tady třeba v tom, že last mi vrací jenom záznamy od začátku prosince.Takže třeba
last jenda -F je pro získání informací o konkrétním uživateli mnohem vhodnější (např. by fungovalo, i kdybych se tam od začátku prosince nepřihlásil - moment, on někdo může žít dva týdny bez přihlášení se na ten server? :) a navíc díky -F se pak dá to datum prostě napipovat do date, převést na UNIX timestamp, odečíst a máš hned a přesně tu délku.
bash, který si zvolil takové jméno, které obsahuje sh i ash :)
martin@ubuntu:~$ bash users.sh users.sh: line 2: $'\r': command not found Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. users.sh: line 4: $'\r': command not found users.sh: line 6: syntax error near unexpected token `$'do\r'' 'sers.sh: line 6: `do martin@ubuntu:~$
Tiskni
Sdílej: