>& redirection not working within csh script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting >& redirection not working within csh script
# 1  
Old 10-16-2013
>& redirection not working within csh script

I'm having a strange problem with basic
Code:
>&

output redirection to a simple log file in csh. When I run this particular output redirection on the command line, it works, but then when I run the same output redirection command
Code:
>&

in my c shell script, I get a blank log file. Nothing is output to the screen, either.

It gets even stranger because the
Code:
>&

output redirection works within my c shell script on Redhat Linux but not when I run my c shell script on my current operating system, CentOS V. 2.16.0 release 5.8.

Is there some system variable that needs to be set in CentOS V. 2.16.0 release 5.8, or why does

Code:
program $inputvar1 $inputvar2 $inputvar3 >& output.log

work in *every other situation* (both command line and running in my c shell script on some computers) except when running my csh script on CentOS V. 2.16.0 release 5.8? It should work the same within the cshell script on all computers, shouldn't it? And does anyone have a work-around that will successfully output to a log file in a csh script on CentOS V. 2.16.0 release 5.8?

EDIT: I was thinking maybe some system variable in CentOS V. 2.16.0 release 5.8 is buffering output from csh? I have no idea, though.
# 2  
Old 10-16-2013
Just a clue here
# 3  
Old 10-16-2013
I've already read through that, thanks. I am looking for a solution to the redirect problem I'm having.
# 4  
Old 10-17-2013
Does your C shell script start with #!/bin/csh?
Furthermore, redirection in C shell might fail if the redirected expression exceeds a certain level of complexity.
# 5  
Old 10-17-2013
Quote:
Originally Posted by silencio
It should work the same within the cshell script on all computers, shouldn't it?
Not necessarily. Even computers running exactly the same operating system may not be running the same version of csh - it's just an installed program, which may or may not be the one that shipped with the OS.
# 6  
Old 10-17-2013
Does anyone else has any familiarity with this problem? Namely why basic text output will redirect with >& on the command line / console but not within my cshell script on this particular version of CentOS?

MadeInGermany, yes my script begins with #!/bin/csh and my program doesn't make complex output - the output is very basic - 3 lines of text - the first line is blank and then the second 2 lines have text output.

>& works in my cshell script on several other computers with different OS/versions but not on this version and I can't figure out why. I need some way to redirect output within my cshell script that doesn't involve software upgrades/installs (I work at a corporation and don't have install permissions).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Linux csh script going to Suspended (tty output) when running with & (bg)

i have strange behavior i have csh file that run java process something like this : run_server.csh #!/usr/bin/tcsh java -Dtest=testparam -cp ${TEST}/lib/device.jar:${TEST}/conf:${TEST}/lib/commons-logging-1.1.1.jar com.device.server when i run it like this :... (7 Replies)
Discussion started by: umen
7 Replies

2. Shell Programming and Scripting

Cygwin script log redirection not working well

I have a simple script which will send a curl request and redirect the output to a log file. for i in {1..20} do curl google.com -is >>log.log & echo "request # $i" >> log.log doneAfter it completes the execution, if I run the following command I should see 20 lines because I am printing... (4 Replies)
Discussion started by: heykiran
4 Replies

3. Shell Programming and Scripting

IF is not working in csh script

cat tmp0.txt 700000 #!/bin/csh -fx set id=`cat tmp0.txt` echo $id if ("$id" == "700000") then echo "Good Morning" endif if ("$id" == "700002") then echo "Good evening" endif My output from terminal set id=`cat tmp0.txt` cat tmp0.txt echo 700000 700000 ==... (9 Replies)
Discussion started by: vivien_chu
9 Replies

4. Shell Programming and Scripting

Command output redirection in script not working

I need to count the number of lines in a .txt file and put it in a variable. I am using the following code #!/bin/bash count = $(wc -l "some file.txt" | awk '{print$1}') echo $count It is giving the following error. line3: count: command not foundWhat am I doing wrong here? :confused: (7 Replies)
Discussion started by: haritha.gorijav
7 Replies

5. Shell Programming and Scripting

Redirection using csh

I have a csh script which I am using to run a program set data = $argv set inmod = $argv set nxz = $argv # Remove the file extension .pmod set data = ` echo $data | awk 'BEGIN { FS=".dat" } { print $1 }' ` set inmod = ` echo $inmod | awk 'BEGIN { FS=".vmod" } { print... (8 Replies)
Discussion started by: kristinu
8 Replies

6. UNIX for Dummies Questions & Answers

Perl search and replace not working in csh script

I am using perl to perform a search and replace. It works at the command line, but not in the csh shell script perl -pi -e 's@/Pattern@@g' $path/$file I used the @ as my delimiter because the pattern contains "/" (3 Replies)
Discussion started by: NobluesFDT
3 Replies

7. UNIX for Dummies Questions & Answers

Redirection not working as expected

Portion of my script below : if ; then NUMBEROFFEILDS=`cat ${BASE_SCRIPT_LOC}/standardfilecleanup.lst|grep -w ${db_file_path}|awk -F: '{print NF}'` COUNT=4 while ; do awk_var="$"`echo $COUNT` file_name1=`cat ${BASE_SCRIPT_LOC}/standardfilecleanup.lst|grep -w... (1 Reply)
Discussion started by: findprakash
1 Replies

8. Shell Programming and Scripting

pwd & cd commands not working in shell script

Here is my script #!/bin/bash pwd cd /var/lib/pgsql Both "pwd" and "cd" are not executed is there any other way i can change the current working directory to /var/lib/pgsql pls help! (9 Replies)
Discussion started by: perk_bud
9 Replies

9. Shell Programming and Scripting

csh stderr redirection

Hi everyone, Simple scripting question here. I have: #!/bin/csh if ( -e $HOME/*.core) then rm -f $HOME/*.core >& /dev/null else echo "No core files to delete." endif But I keep getting the /home/user/*.core: no match dialog. How can I suppress this? or, why is... (0 Replies)
Discussion started by: jolok
0 Replies

10. Shell Programming and Scripting

stderr redirection in csh script

Man pages....look at the man pages. If you don't have them, you can find them on-line. Read them when you have nothing better to do. Find new commands and new ways of doing things. The answer: The only way to direct the standard output and standard error separately is by invoking... (0 Replies)
Discussion started by: thehoghunter
0 Replies
Login or Register to Ask a Question