Сценарий Bash не Распечатает к Консоли

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

#!/bin/bash

exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
if [ -e /var/log/s3extractLog.log ]
then
    exec 1>>/var/log/s3extractLog.log 2>&1
else
    touch /var/log/s3extractLog.log
    exec 1>>/var/log/s3extractLog.log 2>&1
fi

date

###########################
# Self Explanatory printf #
###########################
if [[ ! $EUID == 0 ]]; then
    echo "This script must be run as root."
    exit 1
fi

function ISOCopy {
    echo "Error: Failed to extract ISO from network share"
    exit
}

function extractFunc {
    # Extract the first installer ISO to local
    if [ -e /home/s3user/isoFromExt/EXTRACTED_PACKAGES/$viaver/syngo.via-VB30A-Installer1-$viaver.iso ]
    then
        echo "VIA Installer1 Found"
        #echo "Copying Installer-1 ISO from Share"
        #rsync -av --progress /home/s3user/isoFromExt/EXTRACTED_PACKAGES/$viaver/syngo.via-VB30A-Installer1-$viaver.iso /home/s3user/extractedISOs/$viaver/
        #echo "Copying ISO Completed!"
        echo "Starting to EXTRACT the Installer-1 ISO"
        sleep 3
        cd /home/s3user/isoFromExt/EXTRACTED_PACKAGES/$viaver 
        7z x -y syngo.via-VB30A-Installer1-$viaver.iso -o/home/s3user/extractedISOs/$viaver/MBox/
        echo "Installer-1 Extraction Complete"
    else
        echo "Required ISO File Not Found. Check The Network Archive For Validation"
        exit 2
    fi

    # Extract the second installer ISO to local
    if [ -e /home/s3user/isoFromExt/EXTRACTED_PACKAGES/$viaver/syngo.via-VB30A-Installer2-$viaver.iso ]
    then
        echo "VIA Installer2 Found"
        pwd
        echo "Starting to EXTRACT the Installer-2 ISO"
        sleep 3
        cd /home/s3user/isoFromExt/EXTRACTED_PACKAGES/$viaver
        7z x -y syngo.via-VB30A-Installer2-$viaver.iso -o/home/s3user/extractedISOs/$viaver/MBox/
        echo "Installer-2 Extraction Complete"
    else
        echo "Installer2 ISO Not Found. Check the Network Archive For Validation"
        exit 2
    fi

    # Create a tag for the current VIA build
    echo "Creating a tag for the current VB30A Build version"
    cd /home/s3user/extractedISOs/$viaver/MBox/
    touch $viaver.txt
    echo "This file contains the version $viaver installer" >> $viaver.txt
    echo "Tag Created"

    cd /home/s3user/
    echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
    echo "| Copy the additional files to MBox for the FINAL VB30 Package |"
    echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
    echo "Starting RSYNC for MBox Creation"
    sleep 3
    rsync -av --progress /home/s3user/mboxPartS3/ /home/s3user/extractedISOs/$viaver/MBox/
    echo "Copy to MBox Folder = Success"
    echo "..."
    echo "++++++++++++++++++++++++++++++++++++"
    echo "| FINAL VB30A Mbox Installer Built |"
    echo "++++++++++++++++++++++++++++++++++++"
}

exit 0
0
задан 29 June 2017 в 08:22

1 ответ

Как @Glenn Jackman уже упомянул, Вы перенаправляете все с exec к файлу журнала.

, Если Вы хотите зарегистрировать и распечатать его на stdout, Вы могли бы использовать замену.

exec 1> >(tee -a /var/log/s3extractLog.log) 2>&1

Или, так как Вы используете bash

exec &> >(tee -a var/log/s3extractLog.log)
2
ответ дан 3 November 2019 в 00:43

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

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