Skript (Unix) - Script (Unix)
The skript příkaz je a Utilita Unix který zaznamenává a terminál zasedání. To sahá až do roku 1979 3.0 BSD.[1] Relace je zachycena v názvu souboru strojopis
ve výchozím stavu; Chcete-li zadat jiný název souboru, postupujte podle skript
příkaz s mezerou a názvem souboru jako takovým: skript zaznamenal_session
.
Zaznamenaný formát souboru skript
Skládá se z časovacích informací ve formátu prostého textu (pro celou relaci) a doslovného výstupu příkazu, včetně čehokoli Únikový kód ANSI program vytiskl pro formátování. Používá a pseudoterminální za tímto účelem se programy chovají přesně tak, jako by byly na terminálu.[1] The util-linux scénář
příkaz nabízí funkci skriptu, která podporuje použití zvláštního časovacího souboru pro informace na úrovni znaků.[2][3] Některé online služby, jako je například dnes již neexistující shelr.tv, mohou formát zobrazovat také jako alternativu k videoprojekcím s malou šířkou pásma.[4]
The ttyrec program z roku 2000 poskytuje stejný druh funkcí a nabízí několik vazeb. Načasování je podobné util-linuxu.
Alternativy k příkazu skriptu
Jedním z problémů s příkazem skriptu je, že umožňuje pouze protokolování podřízeného procesu; a často je potřeba zaznamenat příkaz do aktuálního procesu, aniž by se objevil nový proces, například když je nutná automatizace skriptu, který může zaznamenávat vlastní výstup. The Unix operační systémy to umožňují pomocí potrubí a přesměrování. Zvažte následující příklady modelů:
Bourneova skořápka
Všechny skořápky související s Bourneova skořápka (a to: sh, bash, a ksh ) umožněte připojení stdout a stderr k a pojmenovaná roura a přesměrován na příkaz tee.
Příklad
PŘIHLÁŠENÍ="skript"rm -f $ LOGNAME.p $ LOGNAME.logmknod $ LOGNAME.p p tee <$ LOGNAME.p $ LOGNAME.log &vykon >$ LOGNAME.p 2>&1
Výše uvedený skript zaznamenává do script.log
veškerý výstup z vykon
příkaz. Některé interaktivní programy (např krajta ) neodrážejí jejich standardní vstup, když jsou spuštěny pod výsledným shellem, ačkoli to dělají, když běží pod skript příkaz, opět kvůli detekci terminálu.
Viz také
- Tlumočník příkazového řádku
- Shebang (Unix)
- Bourneova skořápka
- Bourne-Again shell
- C shell
- Python (programovací jazyk)
- Přípona názvu souboru, Problémy s názvem příkazu sekce
- Perl
- Skriptovací jazyk
- Unix shell
Reference
![]() | Tento Unix související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |