Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Confused about redirecting stderr Post 303030835 by MadeInGermany on Sunday 17th of February 2019 07:29:32 AM
Old 02-17-2019
I think the following example makes more sense.
Code:
# Save the stderr destination in descriptor 9 then let stderr point to errorlog file
exec 9>&2 2>errorlog
command1
command2
# Restore stderr
exec 2>&9

The same can be achieved with a command group (code block)
Code:
#Group the following
{
command1
command2
# The group has stderr redirected to errorlog file
} 2>errorlog
# Outside the group the original stderr remains.

The
Code:
: >file

is most correct, while all shells also take
Code:
>file

.

Last edited by MadeInGermany; 02-17-2019 at 09:03 AM..
This User Gave Thanks to MadeInGermany For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

redirecting STDOUT & STDERR

In bash, I need to send the STDOUT and STDERR from a command to one file, and then just STDERR to another file. Doing one or the other using redirects is easy, but trying to do both at once is a bit tricky. Anyone have any ideas? (9 Replies)
Discussion started by: jshinaman
9 Replies

2. Shell Programming and Scripting

Redirecting stderr while live

If I forget to set up stderr redirection on execution of a script, is there a way to set that redirection post-exec? In other words, if I have a script running and no errors are being logged... and then I remember that I forgot the 2>&1 on the script... can I turn it on after the fact? ...and... (1 Reply)
Discussion started by: jjinno
1 Replies

3. Shell Programming and Scripting

Redirecting STDERR message to STDOUT & file at same time

Friends I have to redirect STDERR messages both to screen and also capture the same in a file. 2 > &1 | tee file works but it also displays the non error messages to file, while i only need error messages. Can anyone help?? (10 Replies)
Discussion started by: vikashtulsiyan
10 Replies

4. Shell Programming and Scripting

Confused about redirecting output from awk.

I have a simple script written in awk whose purpose is to go through some php files and replace some strings. Naturally, I want the changes to be written out to the files. The script looks generally as follows: { gsub(/'replacethis'/, "with this"); # a bunch of these print $0 > FILENAME }... (3 Replies)
Discussion started by: face1
3 Replies

5. Shell Programming and Scripting

Redirecting stderr problem

% ls -ld /usr /foo ls: /foo: No such file or directory drwxr-xr-x 14 root wheel 512 May 18 02:49 /usr % ls -ld /usr /foo 1>/dev/null/ /dev/null/: Not a directory. % ls -ld /usr /foo 2>/dev/null/ /dev/null/: Not a directory. ^^Why why why doesn't this work for me. Furthermore, where is... (7 Replies)
Discussion started by: phpfreak
7 Replies

6. Shell Programming and Scripting

noob question about redirecting stderr

I dont know what I am doing wrong but I would like to redirect the stderr output to a file? the specific command is this time wget http://www.something.com/somefile.bin All I want to see is time's output which is stderr so I can see how long the file download took. I've tried redirecting... (2 Replies)
Discussion started by: trey85stang
2 Replies

7. Shell Programming and Scripting

Redirecting STDERR to a file from within a bash script

I am trying to redirect the output from stderr to a log file from within a bash script. the script is to long to add 2> $logfile to the end of each command. I have been trying to do it with the command exec 2> $logfile This mostly works. Unfortunately, when a read command requires that anything be... (5 Replies)
Discussion started by: vockleya
5 Replies

8. Shell Programming and Scripting

Is there a way to tee stderr from a command that's redirecting error to a file?

I'm not a complete novice at unix but I'm not all that advanced either. I'm hoping that someone with a little more knowledge than myself has the answer I'm looking for. I'm writing a wrapper script that will be passed user commands from the cron... Ex: ./mywrapper.sh "/usr/bin/ps -ef |... (1 Reply)
Discussion started by: sumgi
1 Replies

9. Shell Programming and Scripting

Preserve output order when redirecting stdout and stderr

Hi, I already searched through the forum and tried to find a answer for my problem but I didn't found a full working solution, thats way I start this new thread and hope, some can help out. I wonder that I'm not able to find a working solution for the following scenario: Working in bash I... (8 Replies)
Discussion started by: Boemm
8 Replies

10. Shell Programming and Scripting

Lost redirecting stderr & stdout to 3 files - one each plus combined

Hi folks I need/want to redirect output (stdout, stderr) from an exec call to separate files. One for stderr only and two(!) different (!) ones for the combined output of stderr and stdout. After some research and testing i got this so far : (( exec ${command} ${command_parameters} 3>&1... (6 Replies)
Discussion started by: MDominok
6 Replies
explain_system_or_die(3)				     Library Functions Manual					  explain_system_or_die(3)

NAME
explain_system_or_die - execute a shell command and report errors SYNOPSIS
#include <libexplain/system.h> void explain_system_or_die(const char *command); void explain_system_success_or_die(const char *command); int explain_system_success(const char *command); DESCRIPTION
These functions may be used to execute commands via the system(3) function, and report the results. explain_system_or_die void explain_system_or_die(const char *command); The explain_system_or_die function is used to call the system(3) system call. On failure an explanation will be printed to stderr, obtained from explain_system(3), and then the process terminates by calling exit(EXIT_FAILURE). This function is intended to be used in a fashion similar to the following example: int status = explain_system_or_die(command); command The command, exactly as to be passed to the system(3) system call. Returns: This function only returns on success, see system(3) for more information. On failure, prints an explanation and exits. explain_system_success_or_die void explain_system_success_or_die(const char *command); The explain_system_success_or_die function is used to call the system(3) system call. On failure, including any exit status other than EXIT_SUCCESS, an explanation will be printed to stderr, obtained from explain_system(3), and then the process terminates by calling exit(EXIT_FAILURE). This function is intended to be used in a fashion similar to the following example: explain_system_success_or_die(command); command The command, exactly as to be passed to the system(3) system call. Returns: This function only returns on success. On failure, prints an explanation and exits. explain_system_success int explain_system_success(const char *command); The explain_system_success function is used to call the system(3) system call. On failure, including any exit status other than EXIT_SUC- CESS, an explanation will be printed to stderr, obtained from explain_system(3). However, the priniting of an error message does not also cause exit(2) to be called. This function is intended to be used in a fashion similar to the following example: int status = explain_system_success(command); command The command, exactly as to be passed to the system(3) system call. Returns: the value returned by the system(3) system call. In all cases other than EXIT_SUCCESS, an error message will also have been printed to stderr. SEE ALSO
system(3) execute a shell command explain_system(3) explain system(3) errors exit(2) terminate the calling process COPYRIGHT
libexplain version 0.52 Copyright (C) 2008 Peter Miller explain_system_or_die(3)
All times are GMT -4. The time now is 09:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy