Я видел бэш-скрипт, который использует команду сценария несколько раз. Я использовал man-скрипт и показал мне скрипт - make typecript of terminal session
После этого я зашел в Google, но не увидел никакой полезной вещи, у меня есть два вопроса. Это:
1- Что используется командой script
?
2- Почему команда script -qc "exit 1"
возвращает код выхода 0?
1- Какая польза от команды сценария?
Иногда команды имеют больше смысла в контексте других команд, которые предназначены для использования с ними. Если вы проверите раздел СМОТРИ ТАКЖЕ
на странице руководства, вы увидите:
SEE ALSO
csh(1) (for the history mechanism), scriptreplay(1), scriptlive(1),
Проверка scriptreplay
:
NAME
scriptreplay - play back typescripts, using timing information
SYNOPSIS
scriptreplay [options] [-t] timingfile [typescript [divisor]]
DESCRIPTION
This program replays a typescript, using timing information to ensure
that output happens in the same rhythm as it originally appeared when
the script was recorded.
The replay simply displays the information again; the programs that
were run when the typescript was being recorded are not run again.
Проверка scriptlive
:
NAME
scriptlive - re-run session typescripts, using timing information
SYNOPSIS
scriptlive [options] [-t] timingfile [-I|-B] typescript
DESCRIPTION
This program re-runs a typescript, using stdin typescript and timing
information to ensure that input happens in the same rhythm as it orig‐
inally appeared when the script was recorded.
The session is executed in a newly created pseudoterminal with the
user's $SHELL (or defaults to /bin/bash).
Итак, с скрипт
вы можете сделать запись, которую можно использовать для воспроизведения сеанса (например, видео, но с текстом), или повторно запустить его. Повторное выполнение будет полезно в тех случаях, когда вы хотите что-то сделать в TUI и повторить свои действия с необязательно с тем же временем.
2- Почему командный сценарий -qc "exit 1" возвращает код выхода 0?
Его основная задача - записывать, поэтому имеет смысл возвращать успех, когда он успешно записан, даже если он зафиксировал сбой. Однако есть также -e
/ - return
, если вы хотите, чтобы возвращаемое значение было передано:
-e, --return
Return the exit status of the child process. Uses the same for‐
mat as bash termination on signal termination (i.e., exit status
is 128 + the signal number). The exit status of the child
process is always stored in the type script file too.
Из man script
script - сделать машинописный текст сеанса терминала
сценарий создает машинописный текст всего, что отображается на вашем терминале. Это полезно для студентов, которым нужен печатная копия интерактивного сеанса в качестве доказательства задания, так как файл машинописного текста можно распечатать позже с помощью lpr (1).
Машинопись
- это "копия текста или документа который был набран ". Итак, команда в основном записывает сеанс.