Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.
První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.
Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.
Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.
Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »Společnost Meta Platforms vyhrála ostře sledovaný spor o akvizici sítě pro sdílení fotografií Instagram a komunikační aplikace WhatsApp. Podle amerického soudu firma jejich převzetím neporušila antimonopolní zákon, protože si tak nemonopolizovala trh sociálních sítí. Žalobu na Metu podala před pěti lety americká Federální obchodní komise (FTC). FTC argumentovala, že Meta, tehdy známá jako Facebook, koupila tyto dvě společnosti v letech 2012 a 2014 proto, aby s nimi nemusela soutěžit.
Home Assistant včera představil svůj nejnovější oficiální hardware: Home Assistant Connect ZBT-2 pro připojení zařízení na sítích Zigbee nebo Thread.
Byla vydána verze 9.1 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,809 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější superpočítač v Evropě JUPITER Booster s výkonem 1,000 exaFLOPS je na čtvrtém místě. Nejvýkonnější český superpočítač C24 klesl na 192. místo. Karolina, GPU partition klesla na 224. místo a Karolina, CPU partition na 450. místo. Další přehledy a statistiky na stránkách projektu.
Mám trochu hloupý problém. Byl jsem líný používat vi a tak jsem vytvořil skript pomoci echo "příkaz" >> scritp.sh a pak pomocí chmod 755 změnil příznaky. Když jsem chtěl soubor spustit ./script.sh tak to vyhodilo hlášku: -bash: ./script.sh: cannot execute binary file. Když vyrobím script přes mc tak vše funguje OK. Tuším, že to nějak souvisí s příznakem souboru, který určuje, jestli je textový nebo binární - systém jej vnímá jako binární a ne textový, ale nevím jak to změnit. Na souboru vytvořeném přes "echo" havaruje např. i program recode, takže ho systém vnímá jako jiný než textový. Nevíte, jak udělat, aby systém ten soubor vnímal jako textový a aby se soubor tvářil a choval jako textový?
Už jsem přišel na to čím to bylo. Ale přijde mi to divné. Na první řádce skriptu bylo #komentář a díky tomu, že jsem před tuto řádku vložil řádku a přidal
#!/bin/bash tak to začalo fungovat. Myslel jsem, že znaky za # je veškerý text braný jako komentář. Všechny dosavadní skripty, které jsem dělal jsem používal bez #!/bin/bash a fungovali. Můžete mi někdo vysvětlit, jaký přesně má tato řádka význam? Děkuji
Má význam - jak má jinak rozkodnout OS čím to má spustit.
Pokud tam tu řádku nemáš tak musíš shell spustit ručně: "bash skript.sh" ("sh skript.sh") nebo pokud je to jiný tak "jiný skript.xy".
Je to proto že linux nemá pouze jeden shell, ale jsou různé: sh, bash, tc, python, php .......
Ahoj,
Znaky za '#' jsou v shellu komentar az na jednu vyjimku - a tou je pukud je prvni znak souboru a druhy znak je '!' - pote jsou veschny znaky do konce radku interpretovany jako jmeno a argumenty programu kteremu je jmeno souboru poslan jako posledni prametr (nebo tak nejak) - ten sice obsahuje tu prvni rakdu, ale pro nej je to uz jen komentar (problem by byly shelly, kde '#' neni komentar).
Takze:
$ echo "# komentar" > test; echo "echo pokus" >> test; chmod +x test; ./test
pokus
- funguje protoze tam neni '!' za '#'
$ echo ' #!komentar' > test; echo "echo pokus" >> test; chmod +x test; ./test
pokus
- funguje protoze '#' je az druhy znak
$ echo > test; echo '#!komentar' >> test; echo "echo pokus" >> test; chmod +x test; ./test
pokus
- funguje protoze '#' je az druhy znak (zacina na druhem radku)
$ echo '#!komentar' > test; echo "echo pokus" >> test; chmod +x test; ./test
bash: ./test: komentar: bad interpreter: No such file or directory
- nefunguje
Shellový skript musí začínat speciálním řádkem, např. pro Bash: #!/bin/bash , pak až následují příkazy. Pokud jste vytvořil skript jen přesměrováním příkazu do souboru, tak tam patrně onen spec. řádek chybí.
Shellový skript musí začínat speciálním řádkem,
rastos@linux ~ $ echo ls /dev > /tmp/fero ; chmod 0700 /tmp/fero; /tmp/fero
cdrom ptya4 ptyd0 ptypc ptys8 ptyv4 ptyy0 ram6 tty0 tty49 ttyb8 ttye4 ttyr0 ttytc ttyw8 ttyz4
console ptya5 ptyd1 ptypd ptys9 ptyv5 ptyy1 ram7 tty1 tty5 ttyb9 ttye5 ttyr1 ttytd ttyw9 ttyz5
...
Je to trocha inak: ak spustiteľný súbor začína znakmi !# tak to čo nasleduje až po koniec riadku sa považuje za meno a a parametre programu, ktorý má interpretovať zvyšok súboru (čo môže byť bash, ale aj awk, perl, ... čokoľvek) Ak ten súbor nezačína riadkom #! tak závisí od shellu užívateľa, ale spravidla to znamená, že je interpretovaný sh.
If the first line of a file of shell commands starts with the characters #!, the results are unspecified. ... A portable application cannot use #! as the first line of a shell script ...Z hľadiska prenostiteľnosti je teda najlepšie písať skripty interpretovateľné shellom
sh a na ich začiatok žiadny interpreter explicitne neuvádzať.
Linux nerozlišuje binární nebo textové soubory, linux rozlišuje pouze spustitelné soubory to nastvíš pomocí chmod viz: man chmod.
Taky v tom adresáři musí být povoleno spouštět soubory.
Taky pokud je to skript tak je vhodné na začátku uvést jakým programem se má ten skript spouštět, provádí se to tak že na začátku souboru je "#!" a za ním následuje celá cesta k tomu spustitelnému souboru.
Příklad:
[petr@soban bin]$ cat pre #!/usr/bin/env python import sys, cgi transformed = [cgi.escape(line, quote=True) for line in sys.stdin] print '-' * 50 ........ [petr@soban bin]$ cat dv #!/bin/bash if test $# -eq 2 then ...........
Tiskni
Sdílej: