LINUX.ORG.RU

Сообщения eugrus

 

EOF, шелл, cat и варианты перенаправлений ввода и вывода

Сам я часто пользуюсь

cat > file

для создания файла вставкой из буфера обмена.

После вставки пользуюсь Ctrl+D, чтобы передать cat EOF.

(Кстати, почему временами достаточно одинарного ^D, а иногда нужен двойной? - от того как иной раз маркер EOF попадает в буфер обмена?)


Потом, видел такой синтаксис в инструкциях:

cat << 'EOF' >  file

Как то, здесь: https://paulgorman.org/technical/asterisk-debian-lxc.txt.html

Как вторым вариантом пользоваться и чего он должен достигать мне не ясно: при таком синтаксисе судя по > на каждой строке я остаюсь в шелле не попадая в cat (как если ввести \ в конце строки, только без реакции на дальнейший Enter), и действия от Ctrl+D нет: если остановить по Ctrl+C, то в file ничего из введённого закономерно не остаётся.


Может ли кто-то внести ясность?

Перемещено hobbit из general

 , , перенаправление ввода, , стандартные потоки

eugrus
()

Apache2 ругается на bad header, отдаваемый cgi-скриптом

Свежеустановленный и настроенный Apache2 на Debian 12 отказывается отображать (даёт Internal Server Error) вывод моего Bash-скрипта, который нормально работает на lighttpd: https://github.com/eugrus/isbn4wiki/blob/main/isbn4wiki.sh

В /var/log/apache2/error.log

[Tue Aug 22 23:49:34.735904 2023] [cgid:error] [pid 3390:tid 139933482198720] [client 192.168.10.50:52838] malformed header from script 'isbn4wiki.sh': Bad header: {{Cite book

В случае lighttpd (чужом от Wikimedia Toolforge) я делал такой конфиг (да и то не из-за ошибок bad header, а просто чтобы \n, а не <br> разбивал строки):

cgi.assign += ( ".sh" => "/bin/bash" )
setenv.add-response-header += ( "Content-Type" => "text/html; charset=utf-8" )
$HTTP["url"] =~ "\.sh$" { setenv.add-response-header = ( "Content-Type" => "text/plain; charset=utf-8" ) }

Как заставить Apache2 принимать от CGI вывод в plain text?

Или я вообще не там увидел суть ошибки?

Если в другие скрипты (которые генерят html, а не plain text) добавить

echo "Content-type: text/plain"

то HTML будет отображаться простым текстом, не давая 500 и bad header в логе.

Возможно, Апач аллергически реагирует на {{?

Пробовал после 10 строки скрипта добавить

echo "Content-type: text/plain"
  • не решило проблемы.

Вот мой текущий конфиг Апача:

# cat /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf

        AddHandler cgi-script .cgi .sh
        Options +Includes +ExecCGI
        AddOutputFilter INCLUDES .html
        ScriptAlias /cgi-bin/ /var/www/cgi-bin/

</VirtualHost>

 , ,

eugrus
()

Байт в восемь бит: как отражается в железе?

Наивный вопрос по матчасти:

Для каждого бита мы имеем транзистор. Есть ли при этом какое-то материальное воплощение октетного байта? Сгруппированы ли транзисторы физически в группы по восемь, которые всегда работают вместе?

 основы информатики

eugrus
()

Какой проект был бы масштабнее? - Сфера Дайсона или Звезда смерти?

Вот некоторые «мысли», которые были на этот счёт у ChatGPT: https://chat.openai.com/share/d111f392-1078-4a3d-a61b-e51634f7eca4

 астроинженерия

eugrus
()

apt-daily.timer = unattended-upgrades в Debian/Proxmox?

Хочу отключить unattended-upgrades на слабой машине.

apt-daily.timer сводится к unattended-upgrades или используется в apt для чего-то ещё?

Есть ли минусы отключения сервиса apt-daily.timer в сравнении с редактированием конфига apt?

 , unattended-upgrades

eugrus
()

В одну из сторон не насыщается канал при международном соединении, хотя в другую насыщается

Есть российская локация с каналом 80Mdown/20Mup и немецкая с каналом 50Mdown/12Mup. Между ними часто случаются VPN/ssh/rsync и прочее-прочее. Сколько смотрел traceroute, трафик между двумя локациями проходит через CITYTELECOM-AS.

Видные по последнему листингу и резюмированные ниже странности с передачей данных аналогично отражаются и в point to point соединениях по iperf/rsync, но проиллюстрирую на speedtest, чтобы не мутила взгляд асимметричность каналов на местах.

Звоним из немецкой локации на близкий к ней Speedtest-сервер:

$ speedtest

   Speedtest by Ookla

      Server: Contabo - Dusseldorf (id: 35154)
         ISP: Versatel Deutschland
Idle Latency:    12.12 ms   (jitter: 0.65ms, low: 11.76ms, high: 12.72ms)
    Download:    57.91 Mbps (data used: 43.2 MB)
                116.85 ms   (jitter: 35.73ms, low: 15.00ms, high: 241.24ms)
      Upload:    10.36 Mbps (data used: 5.4 MB)
                 44.16 ms   (jitter: 3.77ms, low: 10.86ms, high: 105.69ms)
 Packet Loss:     0.0%

Звоним из немецкой локации на близкий к российской локации Speedtest-сервер:

$ speedtest -s 4548

   Speedtest by Ookla

      Server: Vermont-IT - Korolev (id: 4548)
         ISP: Versatel Deutschland
Idle Latency:    49.20 ms   (jitter: 0.27ms, low: 48.69ms, high: 49.54ms)
    Download:    56.13 Mbps (data used: 71.2 MB)
                175.09 ms   (jitter: 52.87ms, low: 47.63ms, high: 273.87ms)
      Upload:    10.27 Mbps (data used: 9.3 MB)
                117.21 ms   (jitter: 31.97ms, low: 58.16ms, high: 189.96ms)
 Packet Loss: Not available.

Звоним из российской локации на близкий к ней Speedtest-сервер:

# speedtest

   Speedtest by Ookla

      Server: Vermont-IT - Korolev (id: 4548)
         ISP: Vermont-IT Limited Liability Company
Idle Latency:     1.07 ms   (jitter: 0.17ms, low: 0.91ms, high: 1.22ms)
    Download:    76.55 Mbps (data used: 55.1 MB)
                  5.46 ms   (jitter: 26.40ms, low: 1.26ms, high: 429.19ms)
      Upload:    21.05 Mbps (data used: 12.5 MB)
                 17.86 ms   (jitter: 35.02ms, low: 1.02ms, high: 361.73ms)
 Packet Loss: Not available.

Звоним из российской локации на близкий к немецкой локации Speedtest-сервер:

# speedtest -s 35154

   Speedtest by Ookla

      Server: Contabo - Dusseldorf (id: 35154)
         ISP: Vermont-IT Limited Liability Company
Idle Latency:    37.60 ms   (jitter: 0.34ms, low: 37.46ms, high: 37.96ms)
    Download:    11.87 Mbps (data used: 12.0 MB)
                 37.64 ms   (jitter: 3.82ms, low: 37.30ms, high: 318.72ms)
      Upload:     4.28 Mbps (data used: 6.9 MB)
                 47.03 ms   (jitter: 26.58ms, low: 37.22ms, high: 406.14ms)
 Packet Loss:     0.0%

Резюмирую: немецкий клиент при соединении с российским Speedtest-сервером насыщает свой канал, а вот российский клиент при соединении с немецким Speedtest-сервером (и тут можно пробовать любой немецкий сервер) не насыщает свой канал.

Кто виноват и можно ли с этим что-то сделать?

 

eugrus
()

Автоматическое продолжение rsync при ошибке, но с возможностью ручной остановки

Использую такое, для автоматического продолжения при обрыве соединения:

while ! rsync --partial --progress -avz -e ssh "user@server:/path/folder.to.copy" "/to.local.path"; do :; done

Побочный эффект - его нельзя прибить по Ctrl+C.

Как реализовать автоматическое продолжение rsync при ошибке, но с возможностью ручной остановки?

Перемещено hobbit из general

 ,

eugrus
()

Поправить однострочник с pdflatex - что-то не так с bash-подстановкой

В продолжение pdflatex: название файла с выводом

Имею такой однострочник /usr/bin/pdfmargins

INPUT_PDF_FILE="$1" OUTPUT_PDF_FILE="${INPUT_PDF_FILE%.pdf}.margins" pdflatex -jobname "$OUTPUT_PDF_FILE" '\documentclass{article}\usepackage{pdfpages}\begin{document}\includepdf[pages=-,trim=1cm 0cm 1cm 0cm]{"$INPUT_PDF_FILE"}\end{document}'

pdflatex остаётся недоволен подстановкой, которую ему даёт bash:

$ pdfmargins KV_2034__2021__ZR.pdf
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2023-01-16>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2022/07/02 v1.4n Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/pdfpages/pdfpages.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty)
(/usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx)))
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)))
(/usr/share/texlive/texmf-dist/tex/latex/pdfpages/pppdftex.def))
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)
No file .aux.

pdflatex: Not writing to .aux (openout_any = p).
! I can't write on file `.aux'.
\document ...ate \openout \@mainaux \jobname .aux
                                                  \immediate \write \@mainau...
<*> ...ticle}\usepackage{pdfpages}\begin{document}
                                                  \includepdf[pages=-,trim=1...

(Press Enter to retry, or Control-D to exit; default file extension is `.tex')
Please type another output file name:

Если посмотреть на дебагер, все значения переменных как будто бы как нужно:

$ bash -x pdfmargins KV_2034__2021__ZR.pdf
+ '[' -z '' ']'
+ return
+ INPUT_PDF_FILE=KV_2034__2021__ZR.pdf
+ OUTPUT_PDF_FILE=KV_2034__2021__ZR.margins
+ pdflatex -jobname '' '\documentclass{article}\usepackage{pdfpages}\begin{document}\includepdf[pages=-,trim=1cm 0cm 1cm 0cm]{}\end{document}'
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2023-01-16>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2022/07/02 v1.4n Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/pdfpages/pdfpages.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty)
(/usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx)))
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)))
(/usr/share/texlive/texmf-dist/tex/latex/pdfpages/pppdftex.def))
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)
No file .aux.

pdflatex: Not writing to .aux (openout_any = p).
! I can't write on file `.aux'.
\document ...ate \openout \@mainaux \jobname .aux
                                                  \immediate \write \@mainau...
<*> ...ticle}\usepackage{pdfpages}\begin{document}
                                                  \includepdf[pages=-,trim=1...

(Press Enter to retry, or Control-D to exit; default file extension is `.tex')
Please type another output file name:

Опять таки, если подставить значения переменных в саму строку скрипта, то работает:

$ pdflatex -jobname "KV_2034__2021__ZR.margins" '\documentclass{article}\usepackage{pdfpages}\begin{document}\includepdf[pages=-,trim=1cm 0cm 1cm 0cm]{"KV_2034__2021__ZR.pdf"}\end{document}'
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2023-01-16>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2022/07/02 v1.4n Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/pdfpages/pdfpages.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty)
(/usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx)))
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)))
(/usr/share/texlive/texmf-dist/tex/latex/pdfpages/pppdftex.def))
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)
No file KV_2034__2021__ZR.margins.aux.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(/usr/share/texlive/texmf-dist/tex/latex/pdflscape/pdflscape.sty
(/usr/share/texlive/texmf-dist/tex/latex/pdflscape/pdflscape-nometadata.sty
(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/lscape.sty))) [1 <./KV_2034__
2021__ZR.pdf>] [2 <./KV_2034__2021__ZR.pdf>] [3 <./KV_2034__2021__ZR.pdf>]
[4 <./KV_2034__2021__ZR.pdf>] [5 <./KV_2034__2021__ZR.pdf>] [6 <./KV_2034__2021
__ZR.pdf>] [7 <./KV_2034__2021__ZR.pdf>] [8 <./KV_2034__2021__ZR.pdf>] [9 <./KV
_2034__2021__ZR.pdf>] [10 <./KV_2034__2021__ZR.pdf>] [11 <./KV_2034__2021__ZR.p
df{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}>] [12 <./KV_2034__2021__Z
R.pdf>] (./KV_2034__2021__ZR.margins.aux)
Output written on KV_2034__2021__ZR.margins.pdf (12 pages, 1158174 bytes).
Transcript written on KV_2034__2021__ZR.margins.log.

 ,

eugrus
()

Termius AI

Очевидная, но от того не менее занятная идея «copilot» для шелла: https://termius.com/blog/boost-your-terminal-experience-with-ai

Осталось, чтобы кто-то реализовал опенсорсный llamash (и sic: имхо лучше бы на уровне шелла, а не эмулятора терминала).

 , ,

eugrus
()

Proxmox со статическим IP: мог ли он автоматически заменить настройки сети при подключении к другой LAN?

В (в отношении ко мне) удалённой локации Proxmox-сервер относили почистить от пыли.

Выполнявший продувку мастер говорит, что по окончании работ пробовал загрузить компьютер и когда увидел логин-промпт, выключил.

По возвращении сервера на место в удалённой локации, подключении там к LAN, питанию (монитора нет) и включении не могу подключиться ни по SSH, ни по вертящемуся на сервере OpenVPN.

На сервере (этим утром и всегда прежде) был настроен статический IP, на который роутер форвардид 22 порт.

Может ли у Proxmox быть такое, что если мастер подключал сервер к какой-то своей LAN, то был автоматически перенастроен /etc/network/interfaces или нечто подобное?

 , , ,

eugrus
()

bash-матрёшка из curl и jq

Имеем такое:

# curl -sL https://openlibrary.org/isbn/9780140328721.json | jq '.authors[]'.key | tr -d '"'
/authors/OL34184A
# curl -s 'https://openlibrary.org/authors/OL34184A.json' | jq '.name'
"Roald Dahl"

Пытаюсь без введения переменных завернуть вывод одного во ввод другого, но пока не выходит.

# curl -s 'https://openlibrary.org`curl -sL https://openlibrary.org/isbn/9780140328721.json | jq '.authors[]'.key | tr -d '"'`.json' | jq '.name'
> ^C
# curl -s 'https://openlibrary.org$(curl -sL https://openlibrary.org/isbn/9780140328721.json | jq '.authors[]'.key | tr -d '"').json' | jq '.name'
> ^C

Перемещено hobbit из general

 , ,

eugrus
()

извлечение значения при помощи jq

Обрезанное начало JSON-файла workflowytest.json:

[
	{
		"id": "7a813f1d-1725-199e-8d52-5136e6dddb61",
		"nm": "Юриспруденция",
		"ct": 287,
		"metadata": {},
		"lm": 148423966,
		"ch": [
			{
				"id": "a735e988-c551-ad15-eb12-3c1c67d06f71",
				"nm": "ius romanum",
				"ct": 61997710,
				"metadata": {},
				"lm": 66069326,
				"ch": [
					{
						"id": "f5e05a96-2ed6-fc5b-0f0b-83a8b91265ca",
						"nm": "Rechtsquellen",
						"ct": 66069334,
						"metadata": {},
						"lm": 66069334,
						"ch": [
							{
								"id": "b9d35b53-d58b-bc44-5f25-342de45f527b",
								"nm": "ius civile",
								"ct": 66069334,
								"metadata": {},
								"lm": 66069334,
								"ch": [
									{
										"id": "2cdad0f8-4f75-e380-4d6a-adf036dce3f9",
										"nm": "mos maiorum (Gewohnheitsrecht)",
										"ct": 66069349,
										"metadata": {},
										"lm": 66069349
									},
									{
										"id": "fc56ce8c-27fd-fac3-eec1-a9cc8821c4ef",
										"nm": "Einzelgesetze",
										"ct": 66075170,
										"metadata": {},
										"lm": 66075170,
										"ch": [
											{
												"id": "341fbe97-94f7-4c0c-e1ed-b4f44197fc40",
												"nm": "leges",
												"ct": 66075230,
												"metadata": {},
												"lm": 66075230
											},
											{
												"id": "e306b8ab-9bd1-f6e9-20d2-2ea004a80165",
												"nm": "plebiscita",
												"ct": 66075230,
												"metadata": {},
												"lm": 66075230
											}
										]
									},
									{
										"id": "e7d85200-bea1-dd32-0cfa-586c901b2acf",
										"nm": "sentus consulta (Senatbeschlüsse)",
										"ct": 66075176,
										"metadata": {},
										"lm": 66075257
									}
								]
							},
							{
								"id": "59bcbceb-addb-adbf-2434-d3b53e798445",
								"nm": "ius honorarum",
								"ct": 66069342,
								"metadata": {},
								"lm": 66069342,
								"ch": [

Хочу при помощи jq отобразить значение "nm" для элемента со значением "id" : "a735e988-c551-ad15-eb12-3c1c67d06f71".

cat workflowytest.json | jq '.[] | select(.id == "a735e988-c551-ad15-eb12-3c1c67d06f71") | .nm'

Не выводит ничего.

 ,

eugrus
()

pdflatex: название файла с выводом

pdflatex '\documentclass{article}\usepackage{pdfpages}\begin{document}\includepdf[pages=-,offset=1cm 0cm]{KV_2018__2021__ZR.pdf}\end{document}' -jobname={KV_2018__2021__ZR.margin} 

Ожидание: созданный файл будет называться KV_2018__2021__ZR.margin.pdf

Реальность: выводит в texput.pdf

Что я делаю не так?

 

eugrus
()

Bash: ошибка в сопоставлении с образцом?

Вот пример обрабатываемого $html, где каждый абзац обрамлён <div> класса "jurAbsatz"

<div><div class="jurAbsatz">(1) Verletzt der Schuldner eine Pflicht aus dem Schuldverhältnis, so kann der Gläubiger Ersatz des hierdurch entstehenden Schadens verlangen. Dies gilt nicht, wenn der Schuldner die Pflichtverletzung nicht zu vertreten hat.</div><div class="jurAbsatz">(2) Schadensersatz wegen Verzögerung der Leistung kann der Gläubiger nur unter der zusätzlichen Voraussetzung des § 286 verlangen.</div><div class="jurAbsatz">(3) Schadensersatz statt der Leistung kann der Gläubiger nur unter den zusätzlichen Voraussetzungen des § 281, des § 282 oder des § 283 verlangen.</div></div>

Вот код, от которого ожидается, что он выведет текст абзаца с номером, соответствующим значению переменной $Absnr

count=0

while [[ $html =~ '<div class="jurAbsatz">([^<]*)<\/div>' ]]; do

    if [ $count -eq $Absnr ]; then
        printf '%s' "${BASH_REMATCH[0]}" | decodehtml
        break
    fi

    ((count++))
done

Почему-то код ничего не выводит. В чём ошибка?

P.S. функция decodehtml к делу отношения не имеет: она определена, заменяет (через sed) HTML character codes на Юникод и работает корректно

 , , , сопоставление с образцом

eugrus
()

CGI в lighttpd на Bash - принятие аргументов URI

В .lighttpd.conf имею

cgi.assign += ( ".sh" => "/bin/bash" )

Скрипт успешно запускается через веб-сервер.

Подставляет ли сервер значения каких-либо аргументов из URI в качестве аргументов командной строки – $@ ($1 и далее)?

Видел примеры с ?var1=x&var2=y, но их в $1, $2 не оказывается.

 , ,

eugrus
()

Аналог setxkbmap с поддержкой Wayland

Использую для переключения раскладок сочетания

Ctrl+1 немецкая

Ctrl+2 русская

Ctrl+3 US

и т.д.

Для этого забиваю в настройки DE байндинги для setxkbmap.

Но setxkbmap работает только с Иксами.

localectl задаёт настройки Вейланда для следующей сессии (аналогично редактированию Xorg.conf), а не переключает раскладку мгновенно.

Какие есть варианты?

 , , , раскладки

eugrus
()

Сборка krb5 под Debian 10

Пробую собрать krb5 из реп на github для установки в домашний каталог, но всё заканчивается вот так:

bison -y  getdate.y
make[2]: *** [<builtin>: getdate.c] Segmentation fault
make[2]: Leaving directory '/home/eugrus/krb5/src/kadmin/cli'
make[1]: *** [Makefile:834: all-recurse] Error 1
make[1]: Leaving directory '/home/eugrus/krb5/src/kadmin'
make: *** [Makefile:1521: all-recurse] Error 1

Полностью: https://gist.github.com/eugrus/23343a5ae99699e0260eecfaac7033f7

 

eugrus
()

Сделайте возможным смотреть «исходный код» чужих и своих старых сообщений!

Бывает полезным видеть разметку сообщений.

 

eugrus
()

Установка krb5 из homebrew в домашний каталог от простого пользователя в Debian 10

Пока что возникает следующий затык:

$ brew install krb5
Running `brew update --auto-update`...
==> Fetching krb5
Warning: Building krb5 from source as the bottle needs:
- HOMEBREW_CELLAR: /home/linuxbrew/.linuxbrew/Cellar (yours is /home/eugrus/homebrew/Cellar)
- HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew (yours is /home/eugrus/homebrew)
==> Downloading https://kerberos.org/dist/krb5/1.20/krb5-1.20.1.tar.gz
##################################################################################################################################################### 100.0%
==> ./configure --prefix=/home/eugrus/homebrew/Cellar/krb5/1.20.1 --libdir=/home/eugrus/ho
==> make
Last 15 lines from /home/eugrus/.cache/Homebrew/Logs/krb5/02.make:
making all in kadmin...
make[1]: Entering directory '/tmp/krb5-20230526-26432-1gh33q9/krb5-1.20.1/src/kadmin'
making all in kadmin/cli...
make[2]: Entering directory '/tmp/krb5-20230526-26432-1gh33q9/krb5-1.20.1/src/kadmin/cli'
gcc-8 -DHAVE_CONFIG_H  -I../../include -I../../include -I. -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE  -g -O2 -Wall -Wcast-align -Wshadow -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare -Werror=uninitialized -Wno-maybe-uninitialized -Werror=pointer-arith -Werror=int-conversion -Werror=incompatible-pointer-types -Werror=discarded-qualifiers -Werror=implicit-int -Werror=declaration-after-statement -Werror-implicit-function-declaration -pthread  -c kadmin.c
../../util/ss/mk_cmds kadmin_ct.ct
gcc-8 -DHAVE_CONFIG_H  -I../../include -I../../include -I. -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE  -g -O2 -Wall -Wcast-align -Wshadow -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare -Werror=uninitialized -Wno-maybe-uninitialized -Werror=pointer-arith -Werror=int-conversion -Werror=incompatible-pointer-types -Werror=discarded-qualifiers -Werror=implicit-int -Werror=declaration-after-statement -Werror-implicit-function-declaration -pthread  -c ss_wrapper.c
bison -y  getdate.y
gcc-8 -DHAVE_CONFIG_H  -I../../include -I../../include -I. -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE  -g -O2 -Wall -Wcast-align -Wshadow -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare -Werror=uninitialized -Wno-maybe-uninitialized -Werror=pointer-arith -Werror=int-conversion -Werror=incompatible-pointer-types -Werror=discarded-qualifiers -Werror=implicit-int -Werror=declaration-after-statement -Werror-implicit-function-declaration -pthread  -c keytab_local.c
make[2]: *** [<builtin>: getdate.c] Segmentation fault
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/tmp/krb5-20230526-26432-1gh33q9/krb5-1.20.1/src/kadmin/cli'
make[1]: *** [Makefile:834: all-recurse] Error 1
make[1]: Leaving directory '/tmp/krb5-20230526-26432-1gh33q9/krb5-1.20.1/src/kadmin'
make: *** [Makefile:1521: all-recurse] Error 1

READ THIS: https://docs.brew.sh/Troubleshooting

brew cleanup -s не спасает

 brew,

eugrus
()

Стабилизация дрожания

Вот видео: https://upload.wikimedia.org/wikipedia/commons/f/fe/Meerg%C3%A4nse_am_Haus_R%C3%BCschhaus.webm

Пробовал: ffmpeg -i "Meergänse am Haus Rüschhaus.webm" -vf vidstabdetect=stepsize=6:shakiness=8:accuracy=9:result=transform_vectors.trf -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus "Meergänse am Haus Rüschhaus stable.webm"

Эффекта почти нет.

Стоит как-то подкрутить параметры или под эту задачу есть лучшие альтернативы для ffmpeg?

Годится стабилизация с отрубанием полей.

 стабилизация

eugrus
()

RSS подписка на новые темы