Scroll to navigation

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

НАЗИВ

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

УВОД

script [опције] [датотека]

ОПИС

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 наредба

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

-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 формат

Force use of advanced or classic timing log format. The default is the classic format to log only output and the advanced format when input as well as output logging is requested.

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

The timing log contains two fields, separated by a space. The first field indicates how much time elapsed since the previous output. The second field indicates how many characters were output this time.

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

Прво поље је одредник врсте уноса (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>.

ДОСТУПНОСТ

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

2023-07-24 util-linux 2.39.1