Sponsored Content
Top Forums Shell Programming and Scripting tcsh I can't get script to work :( Post 302145067 by drl on Monday 12th of November 2007 04:26:04 PM
Old 11-12-2007
Hi, Fred Goldman.

You didn't say what the symptoms were, so I'll assume that nothing happened -- i.e. no files were processed.

Consider a similar script:
Code:
#!/usr/bin/env tcsh

# @(#) s1       Demonstrate feature.

echo
echo "(Versions displayed with local utility version)"
sh -c "version >/dev/null 2>&1" && version tcsh
echo

foreach file ($*)
  echo " file from command line argument is $file"
end

echo
foreach file (*)
        echo " file from directory is: $file"
end

exit 0

And we will call this thusly:
Code:
% ./s1 a b c

(Versions displayed with local utility version)
tcsh 6.13.00

 file from command line argument is a
 file from command line argument is b
 file from command line argument is c

 file from directory is: readme.txt
 file from directory is: s1

Which shows that there can be a dramatic difference between "$*", and "*".

However, I agree with the implicit advice of porter: the Bourne shell family is superior to the csh family for scripting ... cheers, drl
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to call a perl script from tcsh?

Hi I am not sure how to call a perl script from a tcsh shell. do i need to set any environment variables? your help is appreciated Thanks (1 Reply)
Discussion started by: megastar
1 Replies

2. UNIX for Dummies Questions & Answers

Script doesn't work, but commands inside work

Howdie everyone... I have a shell script RemoveFiles.sh Inside this file, it only has two commands as below: rm -f ../../reportToday/temp/* rm -f ../../report/* My problem is that when i execute this script, nothing happened. Files remained unremoved. I don't see any error message as it... (2 Replies)
Discussion started by: cheongww
2 Replies

3. Shell Programming and Scripting

Help me with this tcsh script.!!!!

I need to write a tcsh script which would compare files in the two folders and then send me a mail saying which of the files are missing.For eg 1) I have this folder1 containing all the files which must land on folder2 on a daily basis. 2) If a file is present in folder1 but not in... (6 Replies)
Discussion started by: kumarsaravana_s
6 Replies

4. Programming

help wid C-script in tcsh

Hello Freinds I have just started off with Unix (TCSH) although I have a pretty sound background with C-programming. Kindly convey any error in foll script. #include<stdio.h> #include<math.h> #define PI 3.142857 main () { float r, A; printf("Enter the value of radius: "); scanf(" %f... (12 Replies)
Discussion started by: mahendrakamath
12 Replies

5. UNIX for Dummies Questions & Answers

Top level TCSH while Loop doen't work

Hey guys... I'm learning some shell scripting on OS X using the tcsh shell. For some reason... my while loop isn't executing right (or more likely I am doing something wrong.) Something as simple as this doesn't work: #!/bin/tcsh set g = 0 while ($g <10) echo "this" $g @ g =... (2 Replies)
Discussion started by: sprynmr
2 Replies

6. Shell Programming and Scripting

Help with gawk array, loop in tcsh script

Hi, I'm trying to break a large csv file into smaller files and use unique values for the file names. The shell script i'm using is tcsh and i'm after a gawk one-liner to get the desired outcome. To keep things simple I have the following example with the desired output. fruitlist.csv apples... (6 Replies)
Discussion started by: theflamingmoe
6 Replies

7. Shell Programming and Scripting

Help in tcsh script

Hi All, I wrote a tcsh script, but being a beginner it took me lots of efforts and on top of that I am still struggling with little modifications here and there. kindly have a loop. Line1 : I want it to run maximum of "Max" Which I am providing outside loop. So how the "for" should be... (10 Replies)
Discussion started by: nrjrasaxena
10 Replies

8. Shell Programming and Scripting

Tcsh complete (autocomplete) script

I cant figure out how the complete function works in tcsh. 1. I whould like it to complete after writing my_program.py with either start or stop. I have tried to do something like this in .cshrc.user: complete my_program.py \ 'c/start/' \ 'c/stop/' However i cant get it to... (1 Reply)
Discussion started by: mr_cad
1 Replies

9. Shell Programming and Scripting

My script work on Linux but not work in sunos.

My script work on Linux but not work in sun os. my script. logFiles="sentLog1.log sentLog2.log" intial_time="0 0" logLocation="/usr/local/tomcat/logs/" sleepTime=600 failMessage=":: $(tput bold)Log not update$(tput rmso) = " successMessage="OK" arr=($logFiles)... (7 Replies)
Discussion started by: ooilinlove
7 Replies

10. Shell Programming and Scripting

Regular expressions in tcsh script

Hi, I have a shell script in tcsh to which I pass an argument, the length of which can vary. The possible values of the argument are the letters -c,s,i,q,a. and also a combination of these letters. (e.g: cs,si,ca,iq,qa,csq,acs,csia ..etc). The order of the letters does not matter. My problem... (2 Replies)
Discussion started by: Vaisakh P
2 Replies
echo(1) 						      General Commands Manual							   echo(1)

NAME
echo - Writes its arguments to standard output SYNOPSIS
echo [-n] [string...] [Tru64 UNIX] The -n option is valid only if the environment variable CMD_ENV is set to bsd. Note The C shell has a built-in version of the echo command. If you are using the C shell, and want to guarantee that you are using the command described here, you must specify the full path /usr/bin/echo. See the csh(1) reference page for a description of the built-in command. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: echo: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
[Tru64 UNIX] No newline is added to the output. The -n option is valid only if the environment variable CMD_ENV is set to bsd. Otherwise any -n operand is treated as a string rather than as a option. See the printf(1) reference page for use in portable applications. OPERANDS
The string to be displayed on standard output. The echo command recognizes the following special characters in the string: Displays an alert character. Displays a backspace character. Suppresses the newline character. All characters following c in the arguments are ignored. Displays a formfeed character. Displays a newline character. Displays a carriage-return character. Displays a tab character. Displays a vertical tab character. Displays a backslash character. Displays an 8-bit character whose value is the 1-, 2- or 3-digit octal number, number. The first digit of number must be a 0 (zero). DESCRIPTION
The echo command writes the specified string to standard output, followed by a newline character. The arguments are separated by spaces. Use the echo command to produce diagnostic messages in command files and to send data into a pipe. If there are no arguments, the echo command outputs a newline character. [Tru64 UNIX] The echo command described here is the program /usr/bin/echo. Both csh and sh shells contain built-in echo subcommands, which do not necessarily work in the same way as the /usr/bin/echo command. EXIT STATUS
The following exit values are returned: Successful completion. An error occurred. EXAMPLES
To write a message to standard output, enter: echo Please insert diskette . . . To display a message containing special characters as listed in DESCRIPTION, enclose the message in quotes, as follows: echo " I'm at lunch. I'll be back at 1 p.m." This skips three lines and displays the message: I'm at lunch. I'll be back at 1 p.m. Note You must enclose the message in quotation marks if it contains escape sequences such as . Otherwise, the shell treats the back- slash () as an escape character. The previous command example, entered without the quotes, results in the following output: nnnI'm at lunch.nI'll be back at 1 p.m. To use echo with pattern-matching characters, enter: echo The back-up files are: *.bak This displays the message The back-up files are: and then displays the file names in the current directory ending with To add a sin- gle line of text to a file, enter: echo Remember to set the shell search path to $PATH. >>notes This adds the message to the end of the file notes after the shell substitutes the value of the PATH shell variable. To write a message to the standard error output (sh only), enter: echo Error: file already exists. >&2 Use this in shell procedures to write error messages. If the >&2 is omitted, then the message is written to the standard output. ENVIRONMENT VARIABLES
The following environment variables affect the execution of echo: [Tru64 UNIX] This variable must set to bsd for the -n option to be valid. Otherwise any -n operand is treated as a string member. Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: csh(1), ksh(1), printf(1), Bourne shell sh(1b), POSIX shell sh(1p) Environment: environ(5) Standards: standards(5) echo(1)
All times are GMT -4. The time now is 04:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy