Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Help with redirecting output to an HTML file Post 302949773 by braing on Thursday 16th of July 2015 01:08:12 AM
Old 07-16-2015
I'm scripting for a class, so I have a lot on here that might be jumbled and unnecessary for what I want to do.


Code:
#!/bin/bash -x

# A slicker error handling routine

# I put a variable in my scripts name PROGNAME which
# holds the name of the program being run. You can get this
# value from the first item on the command line ($0).

PROGNAME=$(basename $0)

error_exit()
{

#       ------------------------------------------------------------
#       Function for exit due to fatal program error
#               Accepts 1 argument:
#                       string containing descriptive error message
#       ------------------------------------------------------------

        echo "${PROGNAME}: ${1:-"Unknown Error"} 1>&2
        exit 1
}

# Example call of the error_exit function. Note the inclusion
# of the LINENO environment variable. It contains the current
# line number.

echo "Example of error with line number and message"
error_exit "$LINENO: An error has occurred."

echo "You start with $# positional parameters"

# Loop until all parameters are used up
while [ "$1" != "" ]; do
        echo "Parameter 1 equals $1"
        echo "You now have $# positional parameters"

  # Shift all the parameters down by one
        shift
done

#sysinfo_page - A script to produce an HTML file

##### Constants

TITLE="System Information for $HOSTNAME"
RIGHT_NOW=$(date +"%x %r %Z")
TIME_STAMP="Updated on $RIGHT_NOW by $USER"

##### Functions

system_info()
{
        # Find any release files in /etc

        if ls /etc/*release 1>/dev/null 2>&1; then
                echo "<h2>System release info</h2>"
                echo "<pre>"
                for i in /etc/*release; do
                        # Since we can't be sure of the
                        # length of the file, only
                        # display the first line.

                        head -n 1 $i
                done
                uname -orp
                echo "</pre>"
        fi

}       # end of system_info

show_uptime()
{
        echo "<h2>System uptime</h2>"
        echo "<pre>"
        uptime
        echo "</pre>"

}       # end of show_uptime

drive_space()
{
        echo "<h2>Filesystem space</h2>"
        echo "<pre>"
        df
        echo "</pre>"

}       # end of drive_space

home_space()
{
        # Only the superuser can get this information

        if [ "$(id -u)" = "0" ]; then
                echo "<h2>Home directory space by user</h2>"
                echo "<pre>"
                echo "Bytes Directory"
                du -s /home/* | sort -nr
                echo "</pre>"
        fi

}       # end of home_space

write_page()
{
        cat <<- _EOF_
        <html>
                <head>
                <title>$TITLE</title>
                </head>
                <body>
                <h1>$TITLE</h1>
                <p>$TIME_STAMP</p>
                $(system_info)
                $(show_uptime)
                $(drive_space)
                $(home_space)
           </html>
_EOF_

}

usage()
{
        echo "usage: sysinfo_page [[[-f file ] [-i]] | [-h]]"
}

##### Main

interactive=1
filename=~/sysinfo_page.html

while [ "$1" != "" ]; do
        case $1 in
        -f | --file )           shift
                                filename=$1
                                ;;
        -i | --interactive )    interactive=1
                                ;;
        -h | --help )           usage
                                exit
                                ;;
        * )                     usage
                                exit 1
        esac
        shift
done

# Test code to verify command line processing

if [ "$interactive" = "1" ]; then

        response=
        echo -n  "Enter name of output file [$filename] > "
        read response
        if [ -n "$response" ]; then
                filename=$response
         fi

        if [ -f $filename ]; then
        echo -n "Output file exists. Overwrite? (y/n) > "
                read response
                if [ "$response" != "y" ]; then
                        echo "Exiting program."
                        exit 1
                fi
        fi
fi

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Redirecting my output to a specific file

Hi guys am doing some checking inside my script and i want to redirect my output to a specific file for example checking if a move was successfully done and was writing on the screen whether the move was successful or not and now want to write same thing into a file... I am new to shell... (2 Replies)
Discussion started by: Lutchumaya
2 Replies

2. Shell Programming and Scripting

Redirecting <talk> output to a file

Is it possible to run <talk> such that both sides of the conversation are written to the screen and also to a file? I use the utility to chat with collaborators and sometimes it would be nice to have a record of our conversation while we are problem solving. I am running OS X, so <talk>... (4 Replies)
Discussion started by: cej
4 Replies

3. AIX

Redirecting Both to a file and std output

Hello Friends, Can some one help me how to redirect output of a file to both a file and std output? All the help would be greatly appreciated. Regards Sridhar (1 Reply)
Discussion started by: send2sridhar
1 Replies

4. Shell Programming and Scripting

Redirecting output of a command to a file

Hi We are having a requirement where one shell script, say a.sh (which uses Java and connects to Oracle database using JDBC) keeps on running everytime. I created a wrapper (to check whether a.sh is running and if not then to start it) and scheduled it in the crontab. Now all the output from... (3 Replies)
Discussion started by: ankitgoel
3 Replies

5. Shell Programming and Scripting

Redirecting output of Make to file

Hi, I am unable to get this script to work as desired. Basically, if an argument "log" is sent into the script, it outputs the result of the Make to a file output.log. However, if the argument is not passed, I want the output to be just put on screen (no redirection). See code snippet below. #... (3 Replies)
Discussion started by: srujan45
3 Replies

6. Shell Programming and Scripting

Redirecting output to file

Hi, Below is the whole string which is to be redirected to the new file. su - oracle -c "exp $user/$pass file=/oracle/oradata/backup/exp_trn_tables_`date +%d_%b_20%y_%H_%M_%S`.dmp log=/oracle/oradata/backup/exp_trn_tables_`date +%d_%b_20%y_%H_%M_%S`.log tables=table1,table2 statistics=none" ... (3 Replies)
Discussion started by: milink
3 Replies

7. UNIX for Dummies Questions & Answers

redirecting the script output to more than 1 file

Hi, I want to redirect my script output to more than one file without printing the result to the screen. How to do that? ex: echo "hi" >> a.txt b.txt cat a.txt hi b.txt :confused: (2 Replies)
Discussion started by: boopathyvasagam
2 Replies

8. Shell Programming and Scripting

Redirecting output to file through cron

Hi Does anyone have any suggestions for capturing the output into a file when i run it through cron? I have file called "quick.1" which contains two simple commands to be executed on the target host. And i have second file called "quick.2" which contains the wrapper script to ssh to the target... (1 Reply)
Discussion started by: chandika_diran
1 Replies

9. Homework & Coursework Questions

Help with redirecting output to an HTML file

1. The problem statement, all variables and given/known data: I'm having trouble redirecting the output of my sysinfo_page script into my sysinfo_page.html file. The task at hand is to be able to email both the html file and the script to myself. I'm assuming that the html should appear as a web... (8 Replies)
Discussion started by: braing
8 Replies

10. Shell Programming and Scripting

Redirecting output to file

Hi, I have created script which redirect the output to file.I am able to get the output in file but not in the format. Output :Content of the log which have 10 -15 lines. Actal :Line1 ..Line 2Line3 Line4 Line 5 Expected:Line1 Line 2 Line3 Please... (7 Replies)
Discussion started by: karthik771
7 Replies
All times are GMT -4. The time now is 07:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy