04-11-2007
With ksh at least both echo and print are very fast built-in commands. Dave Korn added print to ksh. At the time ksh was developed Unix was split into a BSD and USG. And the echo statement was different. On BSD, "echo -n" would display no output but on USG it would display "-n". On USG, "echo \\c would display no output, but on BSD it would display "\c". So a portable shell script needed to capture and test the output from "echo -n" and then you could do:
if [ $ECHOTYPE = BSD ] ; then echo -n "enter name - " ; else echo "enter name - \\c" ; fi
Dave felt that rather than trying to solve the echo dichotomy, he would leave "echo" alone and go with "print" which was his own creation. "print" would be the same everywhere. And he added a lot of new stuff to "print".
Later, Posix decreed that the USG echo was standard. And it defined "printf" as a new, more powerful tool. So while Posix encourages the use of "printf", "echo" is now standard too. "print", on the other hand, is a non-standard feature of ksh.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I did a search for this topic but I couldn't find it and I was sure I have seen something similar before (hard because I am not sure of the criteria for the keywords)
What I was looking for was to be able to echo a message to the screen from a bash.sh script at the same time logging it to a... (2 Replies)
Discussion started by: Shakey21
2 Replies
2. UNIX for Dummies Questions & Answers
Is there a functional difference between echo and print? (1 Reply)
Discussion started by: PhilW
1 Replies
3. Shell Programming and Scripting
how to print 3 backslah using Unix AIX,
i have try in my fedora and AIX,both give dirrent output for same echo statment
test.sh
sed -e 's/\(\)/\\\1/g' -e 's/\$?/\\$?/g' -e 's/\$#/\\$#/g' -e 's/^/echo "/g' -e 's/$/ "/g' xMNBDF070 > xMNBDF070_test
xMNBDF070
sed -e "s/'/\\\'/g" -e... (8 Replies)
Discussion started by: mani_um
8 Replies
4. UNIX for Dummies Questions & Answers
First of all i really thankful to all those people who have created this site.
unix.com rocks man!!
I am bit confused about the two commands which are 'top' and 'ps -ef'.:confused:
My requirement is that i want to monitor the CPU usage of Operating system and if the CPU usage is more than 90%... (2 Replies)
Discussion started by: Amey Joshi
2 Replies
5. Shell Programming and Scripting
while read filer ; do echo $filer $1 $2; ssh $filer vfiler status -r | awk '/running/{host=$1}/Path:/{path=$2;print host,path}'; done < filers.list
this will print
node1
vfiler0 /
vfiler2 /vol/vfiler2_vol0
vfilert /vol/vfiler_vol
vfilert /vol/virt_vol
where node1 = $filer.
however how... (1 Reply)
Discussion started by: riegersteve
1 Replies
6. Shell Programming and Scripting
Hi,
I have written this code
------------------------------------------------
# !/bin/ksh
i=0
while
do
j=$i
while
do
echo -e $j
#printf "%d",$j
j=`expr $j - 1`
done
echo
i=`expr $i + 1`
done
----------------------------------------------------
The ouput which... (2 Replies)
Discussion started by: rac
2 Replies
7. Shell Programming and Scripting
I am using echo in bash. Have created a function prargv which takes a number of arguments.
Example:
prargv "-e" "--examples"
Inside prargv, I want to print all the arguments using echo
echo "$@"
This returns
--examples
rather than
-e --examples"
This problem can be fixed... (3 Replies)
Discussion started by: kristinu
3 Replies
8. Shell Programming and Scripting
Hi everyone,
I'm executing a shell script and one of the commands is creating a file with text via echo.
However, if the text within echo has "\t" or similar, it automatically translates it into a TAB character, same goes for other special characters.
I know that if I put another "\"... (7 Replies)
Discussion started by: demmel
7 Replies
9. Shell Programming and Scripting
Hi folks,
I have a script where i am trying to calc the difference between two epoch dates and then have a condition based on the resultant value.
When I run the script it keeps complaining;
expr: syntax error
./testdiff.sh: line 11: syntax error in conditional expression
./testdiff.sh:... (25 Replies)
Discussion started by: jonnyd
25 Replies
10. Shell Programming and Scripting
Currently using below script but echo it print the output in two line.
Input file all-vm-final-2.txt
CEALA08893 SDDC_SCUN DS_SIO_Workload_SAPUI_UAT_01 4
CEALA09546 SDDC_SCUN DS-SIO-PD5_Workload_UAT_SP1_Flash_07 4
CEALA09702 SDDC_SCUN DS-VSAN-RMP-WORKLOAD01 4
DEALA08762 SDDC_LDC... (3 Replies)
Discussion started by: ranjancom2000
3 Replies
echo(1B) SunOS/BSD Compatibility Package Commands echo(1B)
NAME
echo - echo arguments to standard output
SYNOPSIS
/usr/ucb/echo [-n] [argument]
DESCRIPTION
echo writes its arguments, separated by BLANKs and terminated by a NEWLINE, to the standard output.
echo is useful for producing diagnostics in command files and for sending known data into a pipe, and for displaying the contents of envi-
ronment variables.
For example, you can use echo to determine how many subdirectories below the root directory (/) is your current directory, as follows:
o echo your current-working-directory's full pathname
o pipe the output through tr to translate the path's embedded slash-characters into space-characters
o pipe that output through wc -w for a count of the names in your path.
example% /usr/bin/echo "echo $PWD | tr '/' ' ' | wc -w"
See tr(1) and wc(1) for their functionality.
The shells csh(1), ksh(1), and sh(1), each have an echo built-in command, which, by default, will have precedence, and will be invoked if
the user calls echo without a full pathname. /usr/ucb/echo and csh's echo() have an -n option, but do not understand back-slashed escape
characters. sh's echo(), ksh's echo(), and /usr/bin/echo, on the other hand, understand the black-slashed escape characters, and ksh's
echo() also understands a as the audible bell character; however, these commands do not have an -n option.
OPTIONS
-n Do not add the NEWLINE to the output.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWscpu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), echo(1), ksh(1), sh(1), tr(1), wc(1), attributes(5)
NOTES
The -n option is a transition aid for BSD applications, and may not be supported in future releases.
SunOS 5.10 3 Aug 1994 echo(1B)