Scroll to navigation

SCRIPT(1) Корисничке наредбе SCRIPT(1)

НАЗИВ

script - прави скрипту врсте сесије терминала

УВОД

script [options] [file]

ОПИС

script makes a typescript of everything on your terminal session. The terminal data are stored in raw form to the log file and information about timing to another (optional) structured log file. The timing log file is necessary to replay the session later by scriptreplay(1) and to store additional information about the session.

Од издања 2.35, script подржава више токова и омогућава бележење улаза и излаза у засебне датотеке или свега у једну датотеку. Ово издање такође подржава нову датотеку времена која бележи додатне информације. Наредба scriptreplay --summary тада пружа све информације.

Ако је дат аргумент датотека или опција --log-out датотека, script чува дијалог у овој датотеци. Ако назив датотеке није дат, дијалог се чува у датотеци typescript.

Знајте да унос пријављивања користећи --log-in или --log-io може прибележити безбедносно осетљиве информације јер датотека дневника садржи сав унос сесије терминала (нпр. лозинке) независно од поставке опције ехоа терминала.

ОПЦИЈЕ

Испод ,за аргументом величина могу да следе суфикси множитеља као што су KiB=1024, MiB=1024*1024, и тако редом за GiB, TiB, PiB, EiB, ZiB и YiB („iB“ је опционално, нпр., „K“ има исто значење као „KiB“) или суфикси KB=1000, MB=1000*1000, и тако редом за GB, TB, PB, EB, ZB и YB.

-a, --append

Прикачиње излаз у датотеку или у скрипту-врсте, задржавајући претходни садржај.

-c, --command наредба

Покреће наредбу радије него међудејствену шкољку. Ово чини лакше скрипти да ухвати излаз програма који се понаша другачије када његов стандардни излаз није конзола.

-E, --echo када

Ова опција контролише опцију ECHO за крај подређеног псеудотерминала сесије. Подржани режими су always (увек), never (никад), или auto (самостално).

Основно је ауто – у том случају, ЕХО је укључен за подређени псеудотерминала; ако је тренутни стандардни улаз терминал, ЕХО је искључен да би се спречио двоструки ехо; ако тренутни стандардни улаз није терминал (на пример спојка: echo date | script), онда држање ЕХО-а укљученим за подређени псеудотерминала омогућава да се стандардни улазни подаци прегледају на екрану док се истовремено снимају у дневник сесије.

Знајте да режим „never“ утиче на садржај дневника излаза сесије, јер кориснички унос није поновљен на излазу.

-e, --return

Враћа излазно стање подређеног процеса. Користи исти формат као „bash“ окончање при завршетку сигнала (тј. излазно стање је 128 + број сигнала). Излазно стање подређеног процеса се такође увек чува и у датотеци скрипте врсте.

-f, --flush

Испира излаз након сваког писања. Ово је лепо за телекооперацију: једна особа ради mkfifo foo; script -f foo, а друга може да надгледа у реалном времену шта се ради помоћу cat foo. Знајте да испирање има утицај на перформансе; могуће је користити SIGUSR1 за испирање дневника на захтев.

--force

Омогућава да основна датотека излаза typescript буде чврста или симболичка веза. Наредба ће пратити симболичку везу.

-B, --log-io датотека

Бележи улаз и излаз у исту датотеку. Знајте, да ова опција има смисла само ако је и --log-timing такође наведена, у супротном немогуће је раздвојити токове излаза и улаза из датотеке дневника.

-I, --log-in датотека

Бележи улаз у датотеку. Излаз дневника је искључен ако је само --log-in наведено.

Користите пажљиво ову функционалност дневничења јер бележи све улазе, укључујући унос када терминал искључи опцију ехоа (на пример, уносе лозинке).

-O, --log-out датотека

Бележи излаз у датотеку. Основно је да бележи излаз у датотеку под називом typescript ако опција --log-out или --log-in није дата. Излаз дневника је искључен ако је наведено само --log-in.

-T, --log-timing датотека

Бележи информације временисања у датотеку. Сада су подржана два формата датотеке временисања. Класични формат се користи када је укључен само један ток бележења (улаз или излаз). Формат више токова се користи при --log-io или када се --log-in и --log-out користе заједно. Видите такође --logging-format.

-m, --logging-format формат

Приморава коришћење напредног или класичног формата временисања дневника. Основно је класични формат за бележење само излаза а напредни формат када је захтеван улаз као и излаз.

Класичан формат

Дневник временисања садржи два поља, раздвојена размаком. Прво поље означава колико је времена протекло од претходног излаза. Друго поље означава колико знакова има у излазу овог пута.

Напредни (више-токова) формат

Прво поље је одредник врсте уноса (I – улаз, O – излаз, H – заглавље, S – сигнал). Друго поље показује колико је времена протекло од претходног уноса, а остатак уноса су врсти специфични подаци.

-o, --output-limit величина

Ограничава величину „typescript“ и датотеке временисања на величину и зауставља подређени процес након што се ова величина премаши. Израчуната величина датотеке не укључује почетне и завршене поруке које наредба script додаје испред и иза излаза подређеног процеса. Због међумеморисања, резултујућа излазна датотека може бити већа од наведене вредности.

-q, --quiet

Бива тих (не пише поруке почетка и урађености на стандардни излаз).

-t[датотека], --timing[=датотека]

Исписује податке временисања на стандардну грешку, или у датотеку када је дата. Ова опција је застарела у корист --log-timing где аргумент датотека није изборни.

-h, --help

Приказује текст помоћи и излази.

-V, --version

Исписује издање и излази.

СИГНАЛИ

Након примања SIGUSR1, script одмах пресипа излазне датотеке.

ОКРУЖЕЊЕ

Следећу променљиву окружења користи script:

ШКОЉКА

Ако постоји променљива ШКОЉКА, шкољка клонирана skript-ом биће та шкољка. Ако ШКОЉКА није постављена, подразумева се Борнова шкољка. (Већина шкољки самостално поставља ову променљиву).

БЕЛЕШКЕ

Скрипта завршава када клонирана шкољка постоји (ктрл-D за Борнову шкољку (sh(1p)), и изађи, одјави-се или ктрл-d (ако ignoreeof није постављено) за C-шкољку, csh(1)).

Одређене међудејствене наредбе, као што је vi(1), праве ђубре у датотеци скрипте врсте. script ради најбоље са наредбама које не манипулишу екраном, резултати су замишљени да опонашају терминал чврстог умношка.

Не препоручује се покретање script у немеђудејственим шкољкама. Унутрашња шкољка script-a је увек међудејствена и то може довести до неочекиваних резултата. Ако користите script у датотеци за покретање шкољке, морате избегавати улазак у бесконачну петљу. Можете користити на пример датотеку .profile, коју читају само шкољке за пријаву:

if test -t 0 ; then

script
exit fi

Треба такође да избегавате коришћење script у спојкама наредбе, јер script може да прочита више уноса него што бисте очекивали.

ИСТОРИЈАТ

Наредба script се појавила у 3.0BSD-у.

ГРЕШКЕ

script places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects.

script is primarily designed for interactive terminal sessions. When stdin is not a terminal (for example: echo foo | script), then the session can hang, because the interactive shell within the script session misses EOF and script has no clue when to close the session. See the NOTES section for more information.

ПОГЛЕДАЈТЕ ТАКОЂЕ

csh(1) (for the history mechanism), scriptreplay(1), scriptlive(1)

ПРИЈАВЉИВАЊЕ ГРЕШАКА

За пријављивање грешака, користите пратиоца грешака на <https://github.com/util-linux/util-linux/issues>.

ДОСТУПНОСТ

Наредба script је део пакета „util-linux“ који се може преузети са Архиве Линукс кернела <https://www.kernel.org/pub/linux/utils/util-linux/>.

2024-04-27 util-linux 2.40