SCRIPT(1)

НАЗИВ
script - прави скрипту врсте сесије терминала

УВОД

script [options] [file] [-- command [argument...]]

ОПИС

script прави „typescript“ свега на вашој терминалној сесији. Подаци терминала се чувају у сировом облику у датотеку дневника и информације о временисању до друге (опционалне) структуриране датотеке дневника. Датотека временисања дневника је неопходна да би се сесија поновила касније помоћу scriptreplay(1) и да би се сачувале додатне информације о сесији.

Од издања 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 наредба
    Run the command rather than an interactive shell. This makes it easy for a script to capture the output of a program that behaves differently when its stdout is not a tty. Instead of using option -c, the command may also be specified after a double dash (--).

-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 ставља све у датотеку дневника, укључујући уводе редова и повратница. Ово није оно што лаковерни корисник очекује.

script је првенствено осмишљена за међудејствене сесије терминала. Када стандардни улаз није терминал (на пример: echo foo | script), тада сесија може да прекине, јер међудејствена шкољка унутар сесије скрипте пропушта крај датотеке а script нема појма када да затвори сесију. Погледајте одељак НАПОМЕНЕ за више информација.

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

csh(1) (за механизам историјата), scriptreplay(1), scriptlive(1)

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

За пријављивање грешака, користите „https://github.com/util-linux/util-linux/issues[issue tracker]“.

ДОСТУПНОСТ

Наредба script је део „util-linux“ пакета који се може преузети са