Sponsored Content
Full Discussion: Append stderr
Top Forums Shell Programming and Scripting Append stderr Post 302423035 by canduc17 on Thursday 20th of May 2010 04:19:03 AM
Old 05-20-2010
The closest solution I have tryed is the following:
Code:
log() {
    while read LINE; do
        echo "$(date) - ${LINE}" >> "${LOGFILE_2}"
    done
}

${command}  >> "${LOGFILE_1}" 2>>"${LOGFILE_2} | log

I obtain the stdout inside $LOGFILE_1 and the stderr inside $LOGFILE_2 BUT without the date before it, as I wanted to.
Simply the log function is not called at all.

Variables $LOGFILE_1 and $LOGFILE_2 are something like
Code:
LOGFILE_1=/home/canduc/file1.log
LOGFILE_2=/home/canduc/file2.log

, so nothing special.

$command is an executable written in C a bit hard to explain what it does...but it prints strings either on stdout and stderr, I think it is enough to describe my problem.

I tryed also with
Code:
log() {
    while read LINE; do
        echo "$(date) - ${LINE}" >> "${LOGFILE_2}"
    done
}

${command} 2>>"${LOGFILE_2} | log

but I obtain the stdout (with date) in the log file and
Code:
log() {
    while read LINE; do
        echo "$(date) - ${LINE}" 2>> "${LOGFILE_2}"
    done
}

${command} 2>>"${LOGFILE_2} | log

(notice the "2>>" inside the function), but I obtain the stderr inside the log, WITHOUT the date.

I think that the problem can be summarized into this question: how to pass the stderr to a function?

Thank you for your patience...

Last edited by canduc17; 05-20-2010 at 06:19 AM..
 

10 More Discussions You Might Find Interesting

1. Programming

stderr

in fprint(stderr, "lkjalsdi\n"); what does stderr mean? thanks (1 Reply)
Discussion started by: dell9
1 Replies

2. UNIX for Dummies Questions & Answers

stderr redirection

Does anyone know away of redirecting the stderr for a bourne or korn shell script to a file. (5 Replies)
Discussion started by: blakmk
5 Replies

3. Programming

stderr in background process

Herez the question, In a process which writes into file FILE1 with descriptor fHandler1 and it is run as a background process where would statements be directed when stderr descriptor is used. fprintf(stderr,"some message\n"); assume that session from which it is run is terminated and... (3 Replies)
Discussion started by: matrixmadhan
3 Replies

4. Shell Programming and Scripting

STDERR output

Hi, Need some help here on a script I'm writing. I know that STDERR is normally done is this manner: script 2>stderr.out However, if I wanted to output the stderr from a rsh command how do I do that? Example: su - username -c "rsh $hostname /opt/gilberteu/scriptname" 1>stdout... (5 Replies)
Discussion started by: gilberteu
5 Replies

5. Shell Programming and Scripting

Can I pipe stderr to another process

Hi there, I was wondering if it was possible to pipe stderr to another process. I need to eval commands given as arguments and I would like to redirect stderr to another process. I can redirect stderr to a file like this... toto:~$ command="one=1" toto:~$ eval $command 2> error toto:~$... (5 Replies)
Discussion started by: chebarbudo
5 Replies

6. Shell Programming and Scripting

stderr/stdout

Can somebody explain to me why the diff output is not going to stderr? Yet when I issue a diff from the command line the return code is -ne 1. I am guessing diff always writes to stdout??? Is there away I can force the difff to write to stderr USING THE CURRENT template. If possible, I... (5 Replies)
Discussion started by: BeefStu
5 Replies

7. UNIX for Dummies Questions & Answers

how to get stderr

Hello I try to store stderr into a variable, then if this var is not empty i send an email and stop my script. I think my problem is due of "<$dump" into my command line. my bad command line (see samples below on this post) if ! $returnedStr ; then echo ERROR READING DUMP: ... (8 Replies)
Discussion started by: giova
8 Replies

8. Solaris

can't get stderr port

Hi Experts, i have a solaris 9 OS and i get the following message repeated many time in my /var/adm/messages : Oct 31 16:30:44 baobab rsh: can't get stderr port: Cannot assign requested address have you any idea how can i resolve this issue ??:confused: thanks for help (2 Replies)
Discussion started by: lid-j-one
2 Replies

9. Shell Programming and Scripting

Bash - proper way to append variable to stderr

Hello, Can you please if the bellow is the proper way of appending a variable to the stderr: The easiest way to test this,I was able to imagine, was by touching 5 files and afterwards looping trough to the results: -rw-r--r-- 1 ab owner 0 Sep 14 13:45 file1 -rw-r--r-- 1 ab owner 0 Sep... (7 Replies)
Discussion started by: alex2005
7 Replies

10. Shell Programming and Scripting

Doubt regarding stderr

Hi All, I am writing a shell script code. and i want the stderr to be send to a file and the stdout to be displayed in terminal. In my shell script code i use a read command to get data from user.read -r -p "Enter the type :" data and while i execute my script i use./my_script.sh 2>... (4 Replies)
Discussion started by: Vinoth R
4 Replies
WHO(1)							    BSD General Commands Manual 						    WHO(1)

NAME
who -- display who is on the system SYNOPSIS
who [-abHmqsTu] [am I] [file] DESCRIPTION
The who utility displays information about currently logged in users. By default, this includes the login name, tty name, date and time of login and remote hostname if not local. The options are as follows: -a Equivalent to -bTu, with the exception that output is not restricted to the time and date of the last system reboot. -b Write the time and date of the last system reboot. -H Write column headings above the output. -m Show information about the terminal attached to standard input only. -q ``Quick mode'': List the names and number of logged in users in columns. All other command line options are ignored. -s Show the name, line and time fields only. This is the default. -T Indicate whether each user is accepting messages. One of the following characters is written: + User is accepting messages. - User is not accepting messages. ? An error occurred. -u Show idle time for each user in hours and minutes as hh:mm, '.' if the user has been idle less than a minute, and ``old'' if the user has been idle more than 24 hours. am I Equivalent to -m. By default, who gathers information from the file /var/run/utx.active. An alternate file may be specified which is usually /var/log/utx.log (or /var/log/utx.log.[0-6] depending on site policy as utx.log can grow quite large and daily versions may or may not be kept around after compression by ac(8)). The utx.log file contains a record of every login, logout, crash, shutdown and date change since utx.log was last truncated or created. If /var/log/utx.log is being used as the file, the user name may be empty or one of the special characters '|', '}' and '~'. Logouts produce an output line without any user name. For more information on the special characters, see getutxent(3). ENVIRONMENT
The COLUMNS, LANG, LC_ALL and LC_TIME environment variables affect the execution of who as described in environ(7). FILES
/var/run/utx.active /var/log/utx.log /var/log/utx.log.[0-6] EXIT STATUS
The who utility exits 0 on success, and >0 if an error occurs. SEE ALSO
last(1), users(1), w(1), getutxent(3) STANDARDS
The who utility conforms to IEEE Std 1003.1-2001 (``POSIX.1''). HISTORY
A who command appeared in Version 1 AT&T UNIX. BSD
February 11, 2012 BSD
All times are GMT -4. The time now is 01:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy