Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
snprintf( change_passwd, sizeof( change_passwd ), "passwd %s", login ); system( change_passwd ); // zde cekaNevite jak mu mam to heslo predat? Tento program pobezi na solarisu ne na linuxu, tudiz prikaz useradd v solarisu neumoznuje pri vytvoreni uzivatele pridat jako parametr heslo. Prilozeny program (viz nize) neni kompletni, protoze jednotlivi uzivatele pro vytvoreni a jejich parametry se budou nacitat z externiho souboru. Tohle je demonstracni priklad. O radu abych si vytvoril skript v perlu nebo bashi nestojim.
#include < stdio.h>
#define USERADD "/usr/sbin/useradd"
#define BASH "/bin/bash"
int main( void )
{
char create_user[ 200 ];
char change_passwd[ 200 ];
const char *uid = "691";
const char *gid = "100";
const char *home_dir = "/home/jenik";
const char *first_name = "Adam";
const char *last_name = "Jenik";
const char *login = "jenik";
const char *password = "heslo";
snprintf( create_user, sizeof( create_user ), "%s -u %s -g %s -d %s -m -s %s -c \"PRAHA / %s %s\" %s", USERADD, uid, gid, home_dir, BASH, first_name, last_name, login );
snprintf( change_passwd, sizeof( change_passwd ), "passwd %s", login );
printf( "%s\n%s\n", create_user, change_passwd );
system( create_user );
system( change_passwd );
return 0;
}
crypt(), getspent(), putspent()
t.j. ak použijete len základné veci, skript pobeží aj pod vašim sh, aj pod bash
sh neměl stačit.
system, kde máš vo výslednom reťazci uvodzovky?skús niečo na tento spôsob ...
if (! fork ()) {
execlp ("adduser", "-u", username, "-p", password, "-u", uid, NULL);
}
o radu "bash" nestojíš? to si radšej ten trojriadkový skript v bash-i chybovo naprogramuješ v C?Ono asi ten "trojriadkovy skript" ma byt sucastou niecoho ovela vacsieho, co bude napisane v C.
Tento program pobezi na solarisu ne na linuxu, tudiz prikaz useradd v solarisu neumoznuje pri vytvoreni uzivatele pridat jako parametr heslo.
#define USERADD "/usr/sbin/useradd" #define BASH "/bin/bash" snprintf( create_user, sizeof( create_user ), "%s -u %s -g %s -d %s -m -s %s -c \"PRAHA / %s %s\" %s", USERADD, uid, gid, home_dir, BASH, first_name, last_name, login ); system( create_user );
chpasswd?
chpasswd, ne passwd.
passwd user </subor/s/heslom.txt
Zhlediska programu pgmje jedno, jestli napíšete
pgm < file
nebo
cat file | pgm
Program v tom neuvidí žádný rozdíl. Zaznamenáte ho jen vy, protože ve druhém případě se vyrojí zástup lidí s rádoby vtipnými poznámkymi o soutěži ve zbytečném používání příkazu cat.
cat spomína, si ty.
Kdyz uz to pisete takhle blbe, tak opravdu neni duvod nepouzit shell skript. Na editaci zaznamu o uzivatelich funkcemi k tomu urcenymi, jak vas nasmeroval "14.8. 14:29 Michal Kubeček", taky neni nic tezkeho.
Ale pokud tedy trvate na spousteni prikazu s presmerovanym I/O, tak si probehnete man pro fork/wait/exec, dup/pipe/select. A myslim, ze passwd vyzaduje, aby byl vstup z tty (pty), takze jeste man pts.
Tiskni
Sdílej: