Сценарий Bash не будет печатать на консоли

Как получить скрипт bash для печати на моей консоли заливки при запуске. Я думал, что должен использовать Echo, но мой сценарий ниже дает мне пустой терминал, когда он выполняется, но все еще работает так, как планировалось?

#!/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 в 18:22

2 ответа

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

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

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

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

exec &> >(tee -a var/log/s3extractLog.log)
2
ответ дан 18 July 2018 в 10:56

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

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

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

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

exec &> >(tee -a var/log/s3extractLog.log)
2
ответ дан 24 July 2018 в 19:41

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

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