Changing text colour in bash


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Changing text colour in bash
# 1  
Old 11-08-2009
Changing text colour in bash

I am doing a basic script to check if services are disabled, and I was wondering how to change to colours for PASS and FAIL to green & red respectively.
Code:
#!/usr/bin/bash

clear


TELNET=`svcs -a | grep telnet | awk '{print $1}'`

if [ "$TELNET" == "disabled" ]
then
        RESULT=PASS
else
    RESULT=FAIL
fi
echo -e "Verifying if Telnet services are disabled                [$RESULT]"


FTP=`svcs -a | grep ftp | awk '{print $1}'`

if [ "$FTP" == "disabled" ]
then
    RESULT2=PASS
else
    RESULT2=FAIL

fi
echo "Verifying if FTP services are disabled                    [$RESULT2]"


Last edited by pludi; 11-08-2009 at 11:38 AM.. Reason: code tags, please...
# 2  
Old 11-08-2009
Use "tput"

tput setaf 2
echo Green
tput setaf 1
echo Red
tput setaf 7
echo normal


See man tput and the "Color Handling" section of "man terminfo"

---------- Post updated at 05:33 AM ---------- Previous update was at 05:20 AM ----------

Oh, and by the way:

I wouldn't do that unless you are the only one to use the script.

Color is tricky. Displays can be bad at it, people can be color blind...

I might do this:

Code:
echo "`tput setaf 1` **** `tput setaf 7` FAIL  `tput setaf 1` *** `tput setaf 7`"

which leaves FAIL in white.

But even at that you have to be trickier. This would be awful on a white background - "FAIL" would be invisible.

I honestly don't like colors for scripts.
# 3  
Old 11-08-2009
Quote:
Originally Posted by TonyLawrence
Use "tput"

tput setaf 2

That doesn't work on at least one of the systems I use. There are two different versions of tput. One uses termcap, the other terminfo. They are not compatible.

On the other hand, the ISO 6429 standard (also known as ECMA-48, and formerly known as ANSI X3.64), is ubiquitous, and terminals that do not support it are few and far between.

Code:
green=$(printf "\033[32m")
normal=$(printf "\033[m")

Quote:

I honestly don't like colors for scripts.

Generally, I agree with you, but there are times when it is useful.
# 4  
Old 11-09-2009
Yeah, I tend to forget that nobody thinks of or uses anything but Ansi nowadays :-)
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Changing from bash to ksh

Hello, I want to run a script written in ksh but my default shell is bash as root e.g in the script it has #!/bin/ksh i have gone into /etc/passwd to change it from :/bin/bash to /bin/ksh but still giving me an error when running scripts such as ./installer -bash: ./installer: /bin/ksh:... (3 Replies)
Discussion started by: DOkuwa
3 Replies

2. Shell Programming and Scripting

awk and HTML with conditional text colour

Hello All, I am using awk with html options to format and send output to another file. Below command works fine, no issues. awk 'BEGIN{print "<table border="1" width="1000" >"} {print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END {print "</table>"}' ${TMPLOGFILE1} >>... (0 Replies)
Discussion started by: jvmani_1
0 Replies

3. Shell Programming and Scripting

Changing IFS in bash function

I have a function in bash that takes arguments. does IFS work in a function or does it apply only to the main script? (1 Reply)
Discussion started by: kristinu
1 Replies

4. HP-UX

Changing default shell to bash

According to multiple sources you should not change the default shell to bash for the root user because it will make the system unbootable. Is there a safe way to launch bash for root when logging in? Perhaps I can edit /etc/profile or add it to a startup script somewhere? (2 Replies)
Discussion started by: bstring
2 Replies

5. UNIX for Dummies Questions & Answers

Changing text in multiple files, but with different text for each file

Hello, I have a situation where I want to change a line of text in multiple files, but the problem is that I want to change the text to something unique for each file. For example, let's say I have five files named bob.txt, joe.txt, john.txt, tom.txt, and zach.txt. Each of these files has a... (5 Replies)
Discussion started by: Scatterbrain26
5 Replies

6. Shell Programming and Scripting

Bash - changing a color of a substring

Hello! I need to write a bash script for my university classes, and I came up with an idea of a program that would test the speed of typing - there is some random text that you have to rewrite, and the script measures time, number of mistakes etc. The text would be visible on the screen all... (3 Replies)
Discussion started by: xqwzts
3 Replies

7. Shell Programming and Scripting

changing cron using bash script

How can I change the cron entries only for ABC and XYZ from dosomething_1.0.sh to nowchanged_2.0 using a bash script ? Any help will be appreciated. # # ABC 00,05,10,15,20,25,30,35,40,45,50,55 * * * * /mydir/dosomething_1.0.sh 1>/dev/null 2>&1 # # ## # DEF... (4 Replies)
Discussion started by: jville
4 Replies

8. Shell Programming and Scripting

bash changing file name

I want to run some unix commands on one file..let say if i change the name and that name of file is present already. I dnt want to change that presnt file but instead of that make another one with different name eg.. usa.txt if it is there make usa.txt.1 something like that Also one more... (5 Replies)
Discussion started by: Learnerabc
5 Replies

9. UNIX for Dummies Questions & Answers

Need help with changing bash to perl

Hi guys, I am converting a bash script to perl. I need lots of help and pointers on how to make the script work. Any help would be greatly appreciated. Here is what I have: #!/usr/bin/perl #Decrypt Files $dir = "/usr/bin/gpg; opendir(PGP_DIR, $dir) || die "can't opendir $dir: $!";... (3 Replies)
Discussion started by: freak
3 Replies

10. UNIX for Dummies Questions & Answers

HOw to change the text colour through shell script?

Hi all, I have written one script. If i run the script, particular text in that script needs to be displayed in color.how this could be done?any commands r there to change the colour of the text while running the script? Ur help is appreciated !!! Thanx in Advance, Sona. (7 Replies)
Discussion started by: Sona
7 Replies
Login or Register to Ask a Question