Sponsored Content
Top Forums Shell Programming and Scripting Identify Color and send email with same color Post 302894179 by Chubler_XL on Monday 24th of March 2014 08:58:54 AM
Old 03-24-2014
Well using ls was just an example, the reason --color is needed for the ls command is that it normally detects that the output isn't a terminal and avoids outputting any color escape sequences. This is probably to simplify scripts that process the ls output.

Now unless your custom script has a similar feature i.e checking stdout and only outputting plain text when it's not a terminal this should all be fine.

Checking this script ansi2html.sh script it does require python, however it should be a pretty trivial exercise to change it to use awk instead.

Edit: Re-reading your posts I'm guessing your script does check the output type and only print the color escape sequences if the output is a terminal. It's probably checking [-t 1] or something similar. I've encountered this issue before myself and found using ssh is a nice workaround.

Say your script is called output_color then you could call it like this:

Code:
$ ssh -t localhost /usr/local/bin/output_color | ansi2html.sh > king.html

or using ls and an example:

Code:
$ ssh -t localhost "cd $PWD; ls" | ansi2html.sh > king.html


Last edited by Chubler_XL; 03-24-2014 at 10:12 AM..
This User Gave Thanks to Chubler_XL For This Post:
 

2 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to change the background color in the init 3 mode(not line color)

Hello, I am using RHEL 6.1 on VMware I am searching for a way to change background color (not line by line color wich one can using tput command) basically changing the color of the whole screen to white instead of the default black and changing font color to black and alos would like to... (2 Replies)
Discussion started by: Dexobox
2 Replies

2. Shell Programming and Scripting

Send mail with font color change

Hi All, I have a file that contains following entries. I want to highlight the line that has word as "FAILURE" while sending the email. File ------------------------------------------------------------ Job Name: ABC Start Time: 07/20/2019 07:32:39 End Time: 07/20/2019... (4 Replies)
Discussion started by: sdosanjh
4 Replies
FORWARD(5)						      BSD File Formats Manual							FORWARD(5)

NAME
forward -- mail forwarding instructions DESCRIPTION
The .forward file contains a list of mail addresses or programs that the user's mail should be redirected to. If the file is not present, then no mail forwarding will be done. Mail may also be forwarded as the standard input to a program by prefixing the line with the normal shell pipe symbol (|). If arguments are to be passed to the command, then the entire line should be enclosed in quotes. For security rea- sons, the .forward file must be owned by the user the mail is being sent to, or by root, and the user's shell must be listed in /etc/shells. For example, if a .forward file contained the following lines: nobody@NetBSD.org "|/usr/bin/vacation nobody" Mail would be forwarded to <nobody@NetBSD.org> and to the program /usr/bin/vacation with the single argument nobody. If a local user address is prefixed with a backslash character, mail is delivered directly to the user's mail spool file, bypassing further redirection. For example, if user chris had a .forward file containing the following lines: chris@otherhost chris One copy of mail would be forwarded to chris@otherhost and another copy would be retained as mail for local user chris. FILES
$HOME/.forward The user's forwarding instructions. SEE ALSO
aliases(5), mailaddr(7), sendmail(8) BSD
July 2, 1996 BSD
All times are GMT -4. The time now is 08:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy