10-11-2001
Remember that programs use system calls to get stuff done. So you gotta look at this from the system call level.
If two processes both have the same file opened in append mode are both are writing to it, each write system call will be atomic. The data from two writes will never be inter-mingled.
But
echo $$ $$ $$ $$
will probably be 4 writes, one for each arg. If so, they could get inter-mingled as you show. On the other hand:
echo "$$ $$ $$ $$"
which sends one argument to echo, has a better shot of getting a single write. But it all really depends on how echo was written.
It is a common technique for many processes to open an error file in append mode, then write a line to it with a single write system call.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi, once again -
Ok here it is:
a).I used the touch command to create a file (touch directory.list)
b).I then added this line: - date '+The date is %a %h %d, %Y %nIt is %I:%M %p' > directory.list
-So that this date function would go at the top of my script
c).Now I want to display a... (1 Reply)
Discussion started by: Astudent
1 Replies
2. Shell Programming and Scripting
Hi,
I need to write a shell script (ksh) to read contents starting at a specific location from one file and append the contents at specific location in another file. Please find below the contents of the source file that I need to read the contents from,
File 1
-----# more... (5 Replies)
Discussion started by: dnicky
5 Replies
3. Shell Programming and Scripting
hi,
i have a file
file1 file2
----------- -----------------
aa bbb ccc 111 1111 1111
ddd eee fff 222 3333 4444
ggg hhh... (5 Replies)
Discussion started by: go4desperado
5 Replies
4. Shell Programming and Scripting
I'm new to shell scripting and am writing a script to help me log the free memory and hd space on a server. As of now, the script just runs 'df -h' and appends the output to a file and then runs 'top' and appends the output to a log file.
What I want to do, is have the script also search the... (3 Replies)
Discussion started by: enator45
3 Replies
5. Shell Programming and Scripting
hello everybody,
I have some files in directory.each file contain some data.
my requirement is add the count of each line of file in head of each file.
any advice !!!!!!!! (4 Replies)
Discussion started by: abhigrkist
4 Replies
6. Shell Programming and Scripting
I am having 6 files named file1,file2....file6 and i need to append number of lines in each file to begining of the file. For example,
If file 1 contains
a
b
c
d
then after adding new line file1 should contain
4
a
b
c
d
Thanks in advance. (2 Replies)
Discussion started by: akhay_ms
2 Replies
7. Shell Programming and Scripting
I have two files like ABC_DEF_yyyyymmdd_hhmiss_XXX.txt and ABC_DEF_yyyyymmdd_hhmiss_YYY.txt. The date part is going to be changing everytime. How do i remove this date part of the file and create a single file like ABC_DEF_XXX.txt. (8 Replies)
Discussion started by: varlax
8 Replies
8. Shell Programming and Scripting
I have a file that looks like this:
1|A
2|B
3|C
...
...
100|A
I would like to take the last line in the file and add +1 to the number so
the output looks like this
1|A (4 Replies)
Discussion started by: BeefStu
4 Replies
9. Red Hat
Hello,
In our Production system one process is in S state(interruptible)and after killing and restarting the process gives 'advertise error'.
This error goes after rebooting the Server.
I have RHEL 5.9 (tikanga) OS in our server.
We tried debugging the issue with the help of 'strace' command... (9 Replies)
Discussion started by: Rohits
9 Replies
10. Shell Programming and Scripting
Hi there,
i've got a file with this content
$ cat file1
Matt
Mar
The other file has the same number of lines with this content:
$ cat file2
20404=767294
23450=32427
is there a way with either using sed, awk or paste to insert the content of file1 before the "=" character? So... (3 Replies)
Discussion started by: nms
3 Replies
LEARN ABOUT OPENSOLARIS
echo
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.11 3 Aug 1994 echo(1B)