Что такое использование команды скрипта в bash?

Я видел бэш-скрипт, который использует команду сценария несколько раз. Я использовал man-скрипт и показал мне скрипт - make typecript of terminal session

После этого я зашел в Google, но не увидел никакой полезной вещи, у меня есть два вопроса. Это:

1- Что используется командой script?

2- Почему команда script -qc "exit 1" возвращает код выхода 0?

4
задан 13 April 2021 в 10:23

2 ответа

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.
3
ответ дан 23 April 2021 в 23:23

Из man script

script - сделать машинописный текст сеанса терминала

сценарий создает машинописный текст всего, что отображается на вашем терминале. Это полезно для студентов, которым нужен печатная копия интерактивного сеанса в качестве доказательства задания, так как файл машинописного текста можно распечатать позже с помощью lpr (1).

Машинопись - это "копия текста или документа который был набран ". Итак, команда в основном записывает сеанс.

7
ответ дан 23 April 2021 в 23:23

Другие вопросы по тегам:

Похожие вопросы: