Новое окно терминала - это один способ запуска новой интерактивной оболочки, но так же работает script
. Вы хотите запускать script
только в первом случае, а не в в каждом случае.
script
сама устанавливает переменную в среде, чтобы вы знали, если вы уже находитесь вОболочка запущена script
. Проверьте эту переменную, прежде чем пытаться снова запустить script
.
if [[ -z $SCRIPT ]]; then
now=$(date +"%m_%d_%Y_%H:%M:%S")
script /root/Logs/log_$now.txt
fi
Значение SCRIPT
, если задано, является именем файла, в который выполняется запись.
В качестве альтернативы,вы можете настроить эмулятор терминала для непосредственного запуска script
, вместо того, чтобы он продолжал открывать обычную интерактивную оболочку, и вы пытаетесь изменить ее конфигурацию .
Приведенное выше применимок BSD script
;для GNU script
вы должны будете установить такую переменную самостоятельно.
if [[ -z $SCRIPT ]]; then
now=$(date +"%m_%d_%Y_%H:%M:%S")
export SCRIPT=/root/Logs/log_$now.txt
script "$SCRIPT"
fi