LinuxQuestions.org
Latest LQ Deal: Complete CCNA, CCNP & Red Hat Certification Training Bundle
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 10-14-2009, 02:02 AM   #1
soumyacs
LQ Newbie
 
Registered: Oct 2009
Posts: 21

Rep: Reputation: 0
Colour output of a script file is not coming in a html page?


Hello All,

I am facing a problem. Need urgent help asap. Problem is like -

I am executing a shell script which will produce output in different colour.

eg. ./test.sh
o/p Helloworld (red colour)
Hai everybody(green colour)

Now it coming in the console.

But I have written a jsp that will execute this script file(test.sh) and produce the output in a browser.

But in the browser the colour output is not coming(simple output is coming). Moreover, some code of the script file is coming in the browser.

Can anyone pls tell me what should I do??

Thanks in advance.
 
Old 10-14-2009, 02:35 AM   #2
lutusp
Member
 
Registered: Sep 2009
Distribution: Fedora
Posts: 835

Rep: Reputation: 102Reputation: 102
Quote:
Originally Posted by soumyacs View Post
Hello All,

I am facing a problem. Need urgent help asap. Problem is like -

I am executing a shell script which will produce output in different colour.

eg. ./test.sh
o/p Helloworld (red colour)
Hai everybody(green colour)

Now it coming in the console.

But I have written a jsp that will execute this script file(test.sh) and produce the output in a browser.

But in the browser the colour output is not coming(simple output is coming). Moreover, some code of the script file is coming in the browser.

Can anyone pls tell me what should I do??

Thanks in advance.
The solution is simple -- write a filter that converts Bash-style color tags into HTML-style color tags.
 
Old 10-14-2009, 02:58 AM   #3
soumyacs
LQ Newbie
 
Registered: Oct 2009
Posts: 21

Original Poster
Rep: Reputation: 0
I searched in google but i didn't find any valuable code for this one.

Can you please do me a favor?

Can you please provide me the code(html tags) that I need to put in the html page??

Thanks in advance
 
Old 10-14-2009, 04:41 AM   #4
lutusp
Member
 
Registered: Sep 2009
Distribution: Fedora
Posts: 835

Rep: Reputation: 102Reputation: 102
Quote:
Originally Posted by soumyacs View Post
I searched in google but i didn't find any valuable code for this one.

Can you please do me a favor?

Can you please provide me the code(html tags) that I need to put in the html page??

Thanks in advance
You have the solution to your problem -- the rest is up to you.
 
Old 10-14-2009, 05:33 AM   #5
vonbiber
Member
 
Registered: Apr 2009
Distribution: slackware 14.1 64-bit, slackware 14.2 64-bit, SystemRescueCD
Posts: 447

Rep: Reputation: 99
Quote:
Originally Posted by soumyacs View Post
I am executing a shell script which will produce output in different colour.

eg. ./test.sh
o/p Helloworld (red colour)
Hai everybody(green colour)

But I have written a jsp that will execute this script file(test.sh) and produce the output in a browser.
what is the output of your jsp?

The best would be to output and html file with this at the top:
<code>
<html>
<head>
....
<style type=text/css>
.red { color: #ff0000; }
.green { color: #00ff00; }
</style>
</head>
...
</code>

then write a filter in your shell script to translate the
bash color code to the appropriate html code, eg

your 'Helloworld' (red) should be output to
<code>
<span class=red>Helloworld</span>
</code>

and the other (green) to
<code>
<span class=green>Hai everybody</span>
</code>
 
Old 10-14-2009, 09:57 AM   #6
soumyacs
LQ Newbie
 
Registered: Oct 2009
Posts: 21

Original Poster
Rep: Reputation: 0
I have written the below sample code in test.sh file. Now I am executing this file from JSP. The output is coming without any colour.

test.sh -


echo -e "\033[38;5;1m HelloWorld\033[0m"
else
echo -e "\033[38;5;2m Hai Everybody\033[0m"

JSP code

<% Runtime r=Runtime.getRuntime();
Process p=null;
String s=null;
String cmd="/root/test.sh";
try {
p=r.exec(cmd);
InputStreamReader isr=new InputStreamReader(p.getInputStream());
BufferedReader br=new BufferedReader(isr);
String line=null;
while((line = br.readLine()) != null){ %>

<%String str1=new String(String.valueOf(line)); %>


<%= str1 %>

........


Now please tell me the updated test.sh that I should write to get the output in colour.


Thanks in advace
 
Old 10-14-2009, 11:22 AM   #7
vonbiber
Member
 
Registered: Apr 2009
Distribution: slackware 14.1 64-bit, slackware 14.2 64-bit, SystemRescueCD
Posts: 447

Rep: Reputation: 99
Quote:
JSP code

<% Runtime r=Runtime.getRuntime();
Process p=null;
String s=null;
String cmd="/root/test.sh";
try {
p=r.exec(cmd);
InputStreamReader isr=new InputStreamReader(p.getInputStream());
BufferedReader br=new BufferedReader(isr);
String line=null;
while((line = br.readLine()) != null){ %>

<%String str1=new String(String.valueOf(line)); %>


<%= str1 %>
This is your jsp code. But what is the html output?
When you open the page in your browser what does the
'view source' display?
 
Old 10-14-2009, 02:39 PM   #8
soumyacs
LQ Newbie
 
Registered: Oct 2009
Posts: 21

Original Poster
Rep: Reputation: 0
str1 will display the output of that linux script(test.sh) on the browser.

i.e.

HelloWorld
Hi Everybody

But this output is coming without any colour. But when I am executing the linux script the output displays in colour(red and green) in the console.

So i need the code that will convert the RGB colour tag(which i am getting in linux) to hexa tag(which i need to get on the browser) so that the output of the jsp page display in colour.

Thanks in advance
 
Old 10-14-2009, 02:46 PM   #9
vonbiber
Member
 
Registered: Apr 2009
Distribution: slackware 14.1 64-bit, slackware 14.2 64-bit, SystemRescueCD
Posts: 447

Rep: Reputation: 99
Quote:
Originally Posted by soumyacs View Post
str1 will display the output of that linux script(test.sh) on the browser.
So i need the code that will convert the RGB colour tag(which i am getting in linux) to hexa tag(which i need to get on the browser) so that the output of the jsp page display in colour.
what's the format of your RGB color tag?
Is is something like
1.0,0,0 etc.
or
255,0,0 etc.
?

If you know already that you only have red and green tags,
I already gave you the hex code for these colors.
Here are hex code that you can use in html:
Code:
red: #ff0000
green: #00ff00
 
Old 10-14-2009, 03:01 PM   #10
soumyacs
LQ Newbie
 
Registered: Oct 2009
Posts: 21

Original Poster
Rep: Reputation: 0
ya that i know. But my problem is that the str1 variable holds two string (HelloWorld Hi Everybody). If i write

< font color="#ff0000"><%=str1%></font>

only one colour(red) will come not two different colours. Because the string itself holds two values and displays it at a time rather displays it one by one.

So I think, I have to do such a thing(generic) in the jsp page that can understand the linux script colour(whatever it is coming in the shell console) and display its own browser.

Thanks in advance.
 
Old 10-14-2009, 03:06 PM   #11
soumyacs
LQ Newbie
 
Registered: Oct 2009
Posts: 21

Original Poster
Rep: Reputation: 0
echo -e "\033[38;5;1m

38 represents no background colour, 5 represents RGB colour mode, 1m is red font.

Now this script file is working fine in the console as the output displays in colour.


but in the browser it is coming (after executing ths jsp)

[38;5;1m Helloworld [0m ---> without any colour
 
Old 10-14-2009, 03:58 PM   #12
i92guboj
Gentoo support team
 
Registered: May 2008
Location: Lucena, Córdoba (Spain)
Distribution: Gentoo
Posts: 4,074

Rep: Reputation: 386Reputation: 386Reputation: 386Reputation: 386
I really can't see what surprises you. A web browser is not an ANSI display, a browser understands HTML, not ANSI, not assembler, not C or C++. It's not your script's fault. You either need to make an ANSI->HTML converter that will parse your script's output. Or, alternatively, you could just modify your script, so it echoes valid HTML instead of plain text with ANSI control characters.

The complexity and exact way to do it will only depend on the concrete HTML dialect you are using. Try googling for something along the lines of "ansi to html converter" to get a general idea.

Last edited by i92guboj; 10-14-2009 at 04:00 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Html generated by a CGI page counter script displayed in browser without being parsed gregorian Programming 5 08-19-2009 11:41 AM
Tricky: Script to remove Dublets URL links into an HTML page? frenchn00b Programming 4 05-25-2009 06:20 AM
How do I output information from a PHP page to an HTML page? SentralOrigin Programming 3 01-10-2009 02:54 AM
Linux Shell Script to GET an HTML page repeatedly with an Interval vxc69 Programming 5 05-08-2007 10:43 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 02:20 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration