script: записывать оба кода выхода и выхода

Команда script регистрирует весь сеанс оболочки для файла. Это здорово, но при просмотре сеанса я хотел бы видеть код выхода для каждой команды, которую я запускал.

Можно ли зафиксировать это в журналах script ? В идеале без отображения его пользователю сеанса script , но это было бы приемлемо, если необходимо.

Пример запуска скрипта:

 me:~ oliverlade$ script Script started, output file is typescript bash-3.2$ echo "hello" hello bash-3.2$ true bash-3.2$ false bash-3.2$ exit exit Script done, output file is typescript 

Содержимое файла журнала:

 me:~ oliverlade$ cat typescript Script started on Sun Aug 7 13:02:43 2016 bash-3.2$ echo "hello" hello bash-3.2$ true bash-3.2$ false bash-3.2$ exit exit Script done on Sun Aug 7 13:03:03 2016 

Что бы я хотел:

 me:~ oliverlade$ cat typescript Script started on Sun Aug 7 13:02:43 2016 bash-3.2$ echo "hello" hello (exit 0) bash-3.2$ true (exit 0) bash-3.2$ false (exit 1) bash-3.2$ exit exit Script done on Sun Aug 7 13:03:03 2016 

  • Маркировка / слияние нескольких сетевых адресов
  • Как можно вычесть две переменные в bash?
  • открытый скрипт оболочки
  • Как удалить файлы с пробелами в них в сценарии bash?
  • Получение различных частей линии
  • найти совпадающие URL-адреса в строке, а затем сократить их до имени домена
  • удалять несколько удаленных файлов с помощью команды FTP
  • получить числовое значение ASCII для символа
  • 2 Solutions collect form web for “script: записывать оба кода выхода и выхода”

    На страницах script man:

     -e, --return 

    «Верните код выхода дочернего процесса. Используется в том же формате, что и окончание bash при завершении кода завершения сигнала, равно 128 + n». Я неправильно истолковал это …

    Если вам нужно использовать script , кажется, что лучший способ увидеть последний код выхода – это добавить его в приглашение оболочки. Это не плохая идея сделать это в любом случае.

    Вы можете включить статус выхода последней выполненной команды ( $? ) В своем основном приглашении ( PS1 ).

    Один пример:

     $ PS1='$? \$ ' 0 $ 

    Тестирование:

     0 $ false 1 $ 

    Вы должны использовать одинарные кавычки, чтобы избежать расширения $? во время назначения PS1 . Вы не должны export переменную приглашения.

    Другой пример:

     $ PS1=$'(exit $?)\n$ ' (exit 0) $ 

    Тестирование:

     (exit 0) $ false (exit 1) $ 
    Interesting Posts

    Как предотвратить /var/log/mail.log от раздувания?

    Ошибка: не удается найти действительный baseurl для репо: rpmfusion-free

    Запустите команду в интерактивной оболочке с помощью ssh после поиска .bashrc

    Привести сетевой интерфейс вниз, если потеряна физическая связь

    Неинтерактивная конфигурация ядра linux

    не удается найти ошибку -lm linker

    Получение информации о низком уровне от USB-драйвера

    Как определить запущенные процессы с помощью пакета библиотеки?

    Kali linux, канал весь трафик через tor privoxy, время / часовой пояс

    Извлечь информацию с помощью завитка или чего-то еще

    Как я могу использовать `sudo` с командой, но все же« быть собой »?

    «Список аргументов слишком длинный» при выполнении cut и sed в подоболочке для установки переменной

    Команды записи Выполняется пользователем на RHEL5

    Ошибка: TCA_HTB_PAD не объявлен при создании ядра

    Шаблоны для сценария запуска?

    Linux и Unix - лучшая ОС в мире.