02-06-2011
Are you sure the program is printing them to stdout? Usually they go to stderr.
Last edited by Corona688; 02-06-2011 at 02:37 PM..
This User Gave Thanks to Corona688 For This Post:
10 More Discussions You Might Find Interesting
1. Programming
void redirect(int argc, char *argv)
{
int flag;
if (strcmp(argv, ">") == 0)
flag = 1;
else if (strcmp(argv, "<") == 0)
flag = 2;
else if (strcmp(argv, ">>") == 0)
flag = 3;
else
printf("Something Wrong,Please Check!\n");
switch (flag) {... (5 Replies)
Discussion started by: zhshqzyc
5 Replies
2. Shell Programming and Scripting
Hi,
I have script which is based on TCL and expect. It is written to test my code. It usually runs fine for a while and hangs after sometime.
Code snippet
set l_temp_timeout $timeout
OUTPUT_LOG2 2 >>>$expect_out(buffer)<<<
OUTPUT_LOG2 2... (2 Replies)
Discussion started by: naveenpn
2 Replies
3. Shell Programming and Scripting
I am unable to use STDIn redirection with < (commands)
When I do the following, both approaches work and give the same results:
1.
$ printf "aaa\nbbb\n" > file1
$ printf "111\n222\n" > file2
$ cat file1 file2
aaa
bbb
111
2222.
$ cat <(printf "aaa\nbbb\n") <(printf "111\n222\n")
aaa... (8 Replies)
Discussion started by: metaltree
8 Replies
4. Shell Programming and Scripting
Hello,
I've managed to get my .procmailrc file to work. At least it triggers a script which creates a file. But the file is empty. How do I get at the data that's been piped? I've done much creative googling to no avail. I belive it should be in stdin, but I can't figure out how to access... (4 Replies)
Discussion started by: mmesford
4 Replies
5. Shell Programming and Scripting
Running on AIX 5.3L.
I have a program "foo" written in Fortran that requires 3 levels of inputs from stdin (command prompt).
> foo
Enter Input 1: a
Enter Input 2: b
Enter Input 3: c
running foo
success!
>
How do I get a shell script to run this automatically?
> echo "a" | foo... (2 Replies)
Discussion started by: discoganya
2 Replies
6. Shell Programming and Scripting
Hi ,
I have script in that , i uninstall rpm using rpm -ef $rc1
now my query is rpm -ef is asking user input DO YOU Want To continue (YES/NO) for each uninstalltion.
now i want to supply YES variable when it asks for above statement .
so that i dont have to give user input from... (4 Replies)
Discussion started by: raghavendra.nsn
4 Replies
7. Shell Programming and Scripting
I'm trying to automatically pass user input values into a script that is being called from another script, below is my current script and I added a comment next to the script where it asks user to enter input value.
Thanks,
mbak
#!/bin/ksh
echo " Adding disks for DB server then Enter YES... (2 Replies)
Discussion started by: mbak
2 Replies
8. UNIX for Beginners Questions & Answers
Say I had an extremely simple script called testScript.sh:
#!/bin/sh
echo $1
and I invoked it as:
source testScript.sh <<< x
or
source testScript.sh <<< inputFile.txt
When I do the above the values don't appear in the echo statement, and I know that is because in the echo... (5 Replies)
Discussion started by: steezuschrist96
5 Replies
9. Shell Programming and Scripting
I have a script that looks like this:sed -f myfile.sed $1 > $1.out called myscript and would like to change it so the parameter isn't necessary: ls *.idx | myscript | xargs some_command What do I need to add so it can run either way?
TIA
---------- Post updated at 09:41 AM ----------... (1 Reply)
Discussion started by: wbport
1 Replies
10. Shell Programming and Scripting
I have put a script inside bash_profile of user "root". That script executes when we do "sudo su -" and prompts with a question : "Why are you logginf as root?" and users have to pass the reason then they get prompt. Inside script we have used "read -p input" to take input from user.
I am a... (3 Replies)
Discussion started by: shekhar_4_u
3 Replies
LEARN ABOUT REDHAT
stdout
STDIN(3) BSD Library Functions Manual STDIN(3)
NAME
stdin, stdout, stderr -- standard I/O streams
SYNOPSIS
#include <stdio.h>
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
DESCRIPTION
Under normal circumstances every Unix program has three streams opened for it when it starts up, one for input, one for output, and one for
printing diagnostic or error messages. These are typically attached to the user's terminal (see tty(4)) but might instead refer to files or
other devices, depending on what the parent process chose to set up. (See also the ``Redirection'' section of sh(1) .)
The input stream is referred to as ``standard input''; the output stream is referred to as ``standard output''; and the error stream is
referred to as ``standard error''. These terms are abbreviated to form the symbols used to refer to these files, namely stdin, stdout, and
stderr.
Each of these symbols is a stdio(3) macro of type pointer to FILE, and can be used with functions like fprintf(3) or fread(3).
Since FILEs are a buffering wrapper around Unix file descriptors, the same underlying files may also be accessed using the raw Unix file
interface, that is, the functions like read(2) and lseek(2). The integer file descriptors associated with the streams stdin, stdout, and
stderr are 0, 1, and 2, respectively. The preprocessor symbols STDIN_FILENO, STDOUT_FILENO, and STDERR_FILENO are defined with these values
in <unistd.h>.
Note that mixing use of FILEs and raw file descriptors can produce unexpected results and should generally be avoided. (For the masochistic
among you: POSIX.1, section 8.2.3, describes in detail how this interaction is supposed to work.) A general rule is that file descriptors
are handled in the kernel, while stdio is just a library. This means for example, that after an exec, the child inherits all open file
descriptors, but all old streams have become inaccessible.
Since the symbols stdin, stdout, and stderr are specified to be macros, assigning to them is non-portable. The standard streams can be made
to refer to different files with help of the library function freopen(3), specially introduced to make it possible to reassign stdin, stdout,
and stderr. The standard streams are closed by a call to exit(3) and by normal program termination.
SEE ALSO
sh(1), csh(1), open(2), fopen(3), stdio(3)
CONSIDERATIONS
The stream stderr is unbuffered. The stream stdout is line-buffered when it points to a terminal. Partial lines will not appear until
fflush(3) or exit(3) is called, or a newline is printed. This can produce unexpected results, especially with debugging output. The buffer-
ing mode of the standard streams (or any other stream) can be changed using the setbuf(3) or setvbuf(3) call. Note that in case stdin is
associated with a terminal, there may also be input buffering in the terminal driver, entirely unrelated to stdio buffering. (Indeed, nor-
mally terminal input is line buffered in the kernel.) This kernel input handling can be modified using calls like tcsetattr(3); see also
stty(1), and termios(3).
CONFORMING TO
The stdin, stdout, and stderr macros conform to ANSI X3.159-1989 (``ANSI C89''), and this standard also stipulates that these three streams
shall be open at program startup.
Linux 2.0 March 24, 1998 Linux 2.0