Portál AbcLinuxu, 30. dubna 2025 15:48
#!/bin/bash LC_CTYPE=cs_CZ.ISO8859-2 aterm `cat ~/.atermrc` $*Nebo jsem něco nepochopil??
[tsunami@vodik]$ cat ~/.Xdefaults aterm.fading: 90 aterm.cursorColor: rgb:66/77/99 aterm.cursorColor2: rgb:18/18/18 aterm.cursorUL: rgb:d0/90/70 aterm.colorBD: rgb:70/80/a0 aterm.transparent: true aterm.transpscrollbar: true aterm.title: aterm aterm.shading: 30 aterm.saveLines: 2048 aterm.foreground: rgb:cc/cc/cc aterm.font: -misc-fixed-medium-r-normal-*-*-120-*-*-*-*-iso8859-2 aterm.termName: xterm
xrdb -merge ~/.Xdefaults
for i in ~/.bashrc.d/* do [ -x "$i" ] && . "$i" donenapsáno v ~/.bashrc a je vymalováno. Představa, že se mi při každém spuštění mé oblíbené aplikace spustí subproces shellu, rozparsuje nějakej texťák a ten poté co narazí na příkaz exec provede výměna toho běžícího procesu za můj oblíbený program, mě děsí. Co je horší, to tvoje řešení tam ten subshell nechá běžet! Fuj!
11228 ? S 0:00 \_ rxvt 11229 pts/4 Ss 0:00 \_ bash 11367 pts/4 S 0:00 \_ /bin/sh bin/rxvt 11368 pts/4 S 0:00 | \_ rxvt 11369 pts/5 Ss+ 0:00 | \_ bash 11381 pts/4 R+ 0:00 \_ ps xfPřitom stačí napsat před ten tvůj aterm exec a bude tam místo toho (teda já používám rxvt, ale proces jako proces)
11228 ? S 0:00 \_ rxvt 11229 pts/4 Ss 0:00 \_ bash 11338 pts/4 S 0:00 \_ rxvt 11339 pts/5 Ss+ 0:00 | \_ bash 11351 pts/4 R+ 0:00 \_ ps xfTeda o celý jeden proces míň. Ten cat provede ten shell ještě před spuštěním toho terminálu, ale důležité je, že ten tvůj script nechá běžet ten shell. Nicméně to stejně znamená, že ten shell se spouští úplně zbytečně a úplně zbytečně se se čte z disku nějaký wrapper a úplně zbytečně se parsuje a úplně zbytečně se spouští nějaká cat, který úplně zbytečně čte nějaký konfigurák a úplně zbytečné je tam pak nechat ještě ten shell hnít v paměti a nepoužít exec. Nicméně místo
#!/bin/bash LC_CTYPE=cs_CZ.ISO8859-2 aterm `cat ~/.atermrc` $*bych rozhodně napsal přinejmenším
#!/bin/bash exec aterm $(<~/.atermrc)protože ten aterm stejně spustí ~/.bashrc a nastavení LC_CTYPE=cs_CZ.ISO8859-2 a ostatní locale se aspoň u mě nastavuje tam, nespustí se cat, ale použijou se interní procedury bashe a hlavně se ten bash nakonec nahradí procesem atermu a nezůstane tam zbytečně strašit. No, vlastně bych to vůbec neřešil tímhle způsobem a použil Xresources, nebo alias a včechny tyhle opičinky bych si ušetřil.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.