Help with redirecting output to an HTML file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Help with redirecting output to an HTML file
# 1  
Old 07-16-2015
Help with redirecting output to an HTML file

I'm very new to shell scripting and am practicing how to write a script, then redirect the output into an HTML file, and then email both the script and the HTML file to myself. I have created a script called sysinfo_page, and thought it would have redirected the output into the sysinfo_page.html file, but every time I perform an ls, there is no content in the latter file.

I tried typing
Code:
sysinfo_page > sysinfo_page.html

but received this error code

Code:
syntax error near unexpected token `('

and then on the line after that it gave me the line that has the error

Code:
`   echo -n "Output file exists. Overwrite? (y/n) >"'

Could anyone explain what's wrong with this line and if I should be doing anything else to redirect the output of the file so that the script shows up as HTML when I email myself?

Thanks. Smilie

Last edited by braing; 07-16-2015 at 01:18 AM.. Reason: Add CODE tags.
# 2  
Old 07-16-2015
As a wild guess, I'd say that you have mismatched double quotes somewhere on a line before the line you showed us.

If you need more help than the above suggestion, please show us your entire script (in CODE tags).

What shell are you using?

What operating system are you using?
# 3  
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

# 4  
Old 07-16-2015
My guess was correct, but: Do not post classroom or homework problems in the main forums. Homework and coursework questions can only be posted in this forum under special homework rules.

This thread is closed.

Please repost you question in the proper forum with a completely filled out homework template.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
Login or Register to Ask a Question