Sponsored Content
Top Forums UNIX for Beginners Questions & Answers How to convert my /bin/sh script with cgi and html to run it on browser!?? Post 303039670 by Corona688 on Friday 11th of October 2019 11:38:32 AM
Old 10-11-2019
To be clear: We cannot pull a rabbit out of our hat and give you perfect code. You've given us too many unknowns and change everything we give you far too much. What I am trying to do is show you how to troubleshoot. The basics are:
  1. SIMPLIFY.
    • Strip the webpage out of your script to remove that complication.
    • If that doesn't help, remove EVERYTHING until it starts working. Pare it down to 'hello world'. Then add things back, one by one, until something breaks.
  2. IGNORE ASSUMPTIONS.
    • You think grep is working. Do you know that for a fact? You're using the same name every time, it could have created that file last week.
  3. TEST.
    • The error could be in something 90 lines up. You're getting NO OUTPUT when you should be getting something. That hints the program is breaking early.

Zero feedback tells you nothing. Try this:

Code:
#!/bin/bash

# Make sure errors get shown in web browser.  DO THIS FIRST!
exec 2>&1

# Make sure web browser shows everything raw
echo "Content-Type:  text/plain"
echo

echo "Text output test"
echo "Error output test" >&2
echo
echo "Query is: ${QUERY_STRING}"

IFS="&=" ; set -- ${QUERY_STRING}

while [ "$#" -gt 0 ]
do
        echo "Got variable $1=$2"

        case "$1" in
        val_x) XX="$2" ; shift ;;
        val_y) YY="$2" ; shift ;;
        val_z) ZZ="$2" ; shift ;;
        *) ;; # Ignore unknown option
        esac
        shift
done

echo "got XX=$XX YY=$YY ZZ=$ZZ"

grep "$XX" /var/www/html/* > /tmp/a.txt
echo "grep returned $?"
sed 's/INFO.*;|//g' /tmp/a.txt > /tmp/b.txt
echo "sed returned $?"


Last edited by Corona688; 10-11-2019 at 12:50 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Run ksh script from cgi

Hi, I'm developing a system which requires me to run a ksh script from within a cgi script. What sort of syntax will I need to do this, I'm sure it's simple but can't find out how anywhere! Thanks. (2 Replies)
Discussion started by: hodges
2 Replies

2. Shell Programming and Scripting

html - df -k cgi script

Hey - I am new to cgi scripting... just writing a script to output df -k output to html page... but I cannot get the df lines on separate lines on the page, it all comes out on one line and is not very readable.. any suggestions? My script is below - please keep in mind I am only new to it so... (1 Reply)
Discussion started by: frustrated1
1 Replies

3. Shell Programming and Scripting

running a cgi script even when browser is closed

hii, i have a cgi script file which may take some hours to complete. The script logs the output and mails the user. so the browser need not be open for the output. But currently the script dies off the instant the browser is closed or other pages are viewed. Is there a way out .. ? i have... (0 Replies)
Discussion started by: damn_bkb
0 Replies

4. Shell Programming and Scripting

cgi script to echo a html file

Hi, I'm learning some simple cgi scripting. I can make a script like this, so my browser shows "Hello World" /www/cgi-bin/name.sh --- #!/bin/sh MyName=World echo "<html> Hello $MyName </html>" --- What I'd like is to have a separate html and script files in the cgi folder so ... (1 Reply)
Discussion started by: Performer
1 Replies

5. Shell Programming and Scripting

How to pass data from server (CGI script) to client (html page)

Hi I know how to pass data from client side (html file) to server using CGI script (POST method). I also know how to re-create the html page from server side after receiving the data (using printf). However I want to write static pages on client side (only the structure), and only to pass... (0 Replies)
Discussion started by: naamabm
0 Replies

6. UNIX and Linux Applications

execute shell script using CGI for html site

hi there im currently in the process of creating a website for use basically within our org. im using a os x machine and installed MAMP - which includes Apache, mysql... the site will be used by techs to primarily install pkgs files onto os x devices. i would like to have buttons or hyperlinks... (2 Replies)
Discussion started by: sheshe
2 Replies

7. Shell Programming and Scripting

Perl cgi pages out of cgi-bin folder in WINDOWS

Hi team, I have a typical problem with cgi pages in apache webserver in WINDOWS I am able to execute(display) the pages that are saved in cgi-bin folder. But I am not able to execute the pages stored in htdocs or other folder other than cgi-bin folder. Could anyone please let me know how... (1 Reply)
Discussion started by: scriptscript
1 Replies

8. UNIX for Beginners Questions & Answers

How to run script through CGI?

Hi I have written a script and I want it to be run from web with the help of CGI. can you please guide me . below script is working fine if run from backend but not sure how I should run through web. #!/bin/bash string1=look string2=0 string3=.sdn.dnb echo -n "enter... (3 Replies)
Discussion started by: scriptor
3 Replies

9. Shell Programming and Scripting

Run command through html+cgi in bash

Hi everyone, I want to kill process through the web, so I create html page with single bottom that run kill command in shell script with CGI. Here is html code: <td><form METHOD="GET" action="http://IP:port/cgi_bin/script.cgi" > <input type="submit" value= "Submit" > <INPUT name="q"... (7 Replies)
Discussion started by: indeed_1
7 Replies

10. UNIX for Beginners Questions & Answers

How can I use my /bin/sh script on web browser?

Hello, I have created my script which works properly through the terminal, but I want to convert it to perform all functions as it performs through terminal, but in this case perform through web browser. My /bin/sh script is:... (1 Reply)
Discussion started by: juta2020
1 Replies
ECHO(3) 								 1								   ECHO(3)

echo - Output one or more strings

SYNOPSIS
void echo (string $arg1, [string $...]) DESCRIPTION
Outputs all parameters. echo is not actually a function (it is a language construct), so you are not required to use parentheses with it. echo (unlike some other language constructs) does not behave like a function, so it cannot always be used in the context of a function. Additionally, if you want to pass more than one parameter to echo, the parameters must not be enclosed within parentheses. echo also has a shortcut syntax, where you can immediately follow the opening tag with an equals sign. Prior to PHP 5.4.0, this short syn- tax only works with the short_open_tag configuration setting enabled. I have <?=$foo?> foo. PARAMETERS
o $arg1 - The parameter to output. o $... - RETURN VALUES
No value is returned. EXAMPLES
Example #1 echo examples <?php echo "Hello World"; echo "This spans multiple lines. The newlines will be output as well"; echo "This spans multiple lines. The newlines will be output as well."; echo "Escaping characters is done "Like this"."; // You can use variables inside of an echo statement $foo = "foobar"; $bar = "barbaz"; echo "foo is $foo"; // foo is foobar // You can also use arrays $baz = array("value" => "foo"); echo "this is {$baz['value']} !"; // this is foo ! // Using single quotes will print the variable name, not the value echo 'foo is $foo'; // foo is $foo // If you are not using any other characters, you can just echo variables echo $foo; // foobar echo $foo,$bar; // foobarbarbaz // Some people prefer passing multiple parameters to echo over concatenation. echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10); echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . " "; echo <<<END This uses the "here document" syntax to output multiple lines with $variable interpolation. Note that the here document terminator must appear on a line with just a semicolon. no extra whitespace! END; // Because echo does not behave like a function, the following code is invalid. ($some_var) ? echo 'true' : echo 'false'; // However, the following examples will work: ($some_var) ? print 'true' : print 'false'; // print is also a construct, but // it behaves like a function, so // it may be used in this context. echo $some_var ? 'true': 'false'; // changing the statement around ?> NOTES
Note Because this is a language construct and not a function, it cannot be called using variable functions. SEE ALSO
print(3), printf(3), flush(3), Heredoc syntax. PHP Documentation Group ECHO(3)
All times are GMT -4. The time now is 01:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy