Why does my /bin/csh take longer than /bin/perl?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Why does my /bin/csh take longer than /bin/perl?
# 1  
Old 01-12-2009
Why does my /bin/csh take longer than /bin/perl?

Okay, so I have two "Hello, world!" scripts, "test.pl" and "test.sh".
Code:
#!/bin/perl -w
use strict;
print "Hello, world!\n";

Code:
#!/bin/csh
echo Hello,\ world!

When I run test.pl, it runs instantly, always. When I run test.sh, it takes anywhere between 4 and 22 seconds!

I'd like to know what could possibly be causing this.


Some facts of interest:
  • I am connected to a remote server via PuTTy (telnet).
  • which csh returns "/bin/csh", which is not a link of any kind.
  • which perl returns "/bin/perl", which is actually a symbolic link to "../perl5/5.8.4/bin/perl".
This is my first time working with csh. Is csh really just that slow?
# 2  
Old 01-12-2009
Quote:
Originally Posted by acheong87
Okay, so I have two "Hello, world!" scripts, "test.pl" and "test.sh".
Code:
#!/bin/perl -w
use strict;
print "Hello, world!\n";

Code:
#!/bin/csh
echo Hello,\ world!

When I run test.pl, it runs instantly, always. When I run test.sh, it takes anywhere between 4 and 22 seconds!

The same script is a shell that is designed for scripting (i.e., a POSIX shell, such as bash, ash, dash or ksh) takes much less time than csh and quite likely less than perl.

Top Ten Reasons not to use the C shell
Csh problems
Csh Programming Considered Harmful
# 3  
Old 01-12-2009
Quote:
Originally Posted by acheong87
Code:
#!/bin/csh
echo Hello,\ world!

The exclamation mark might be a problem. Escape it like you did the space.

Also, empty out or trim or optimize or remove /etc/csh.cshrc, /etc/csh.login, $HOME/.cshrc, $HOME/.login, $HOME/.tcshrc, $HOME/.history

Finally, it's possible csh is so under-used that it's never in the OS's file cache or that there's a disk error on the track locating the executable code.
# 4  
Old 01-12-2009
csh is already my default shell. If I'm running csh scripts, are all of those files (/etc/csh.cshrc, /etc/csh.login, $HOME/.cshrc, $HOME/.login, $HOME/.tcshrc, $HOME/.history) still processed? If so, that explains it. The .cshrc file is huge.

How can I make csh skip those files? You see, csh is the default shell at my company, and the .cshrc is necessary because it sets up a lot of environment variables for our software. I can't remove the .cshrc... so can I skip it?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Usage of #!/bin/sh vs #!/bin/bash shell scripts?

Some question about the usage of shell scripts: 1.) Are the commands of the base shell scripts a subset of bash commands? 2.) Assume I got a long, long script WITHOUT the first line. How can I find out if the script was originally designed für "sh" or "bash"? 3.) How can I check a given... (3 Replies)
Discussion started by: pstein
3 Replies

2. UNIX for Beginners Questions & Answers

source the csh into the bin/sh

I tried to source the csh file into the bin/sh(input file is srcinput.sh ). Its(csh -f ...csh) not working. I tried to source like csh -f D:/sample/expand/env.csh env.csh sets the environment and it source another .csh file using source fname.csh. fname.csh it sets one... (2 Replies)
Discussion started by: SA_Palani
2 Replies

3. AIX

Redistribution bin required for AIX. j7r164redist.7.1.0.25.bin

Hi, I am planning to install a version of Informatica on my AIX box. It requires a specific java build in pap6470_27sr2-20141101_01(SR2). The current link for IBM 64-bit SDK for AIX®, JavaTM Technology Edition, Version 7 Release 1 has a more recent version in j7r164redist.7.1.0.75.bin. Is... (4 Replies)
Discussion started by: meetpraveens
4 Replies

4. OS X (Apple)

When to use /Users/m/bin instead of /usr/local/bin (& whats the diff?)?

Q1. I understand that /usr/local/bin means I can install/uninstall stuff in here and have any chance of messing up my original system files or effecting any other users. I created this directory myself. But what about the directory I didn't create, namely /Users/m/bin? How is that directory... (1 Reply)
Discussion started by: michellepace
1 Replies

5. Shell Programming and Scripting

#!/bin/csh -f :: What does it mean

Hi, I have a script which I need to modify. It contains the following statement at the beginning - 1. What does this mean ? #!/bin/csh -f 2. If I run the following code in a script on C SHELL it runs normally. host=0 if ; then host="<<something>>" fi But, in the script... (7 Replies)
Discussion started by: angshuman_ag
7 Replies

6. UNIX for Dummies Questions & Answers

fuser: difference with bin/sh and bin/ksh shell script

Hi, I have a problem I don't understand with fuser. I launch a simple shell script mysleep.sh: I launch the command fuser -fu mysleep.sh but fuser doesn't return anything excepted: mysleep: Then I modify my script switching from #!/bin/sh to #!/bin/ksh I launch the command fuser -fu... (4 Replies)
Discussion started by: Peuj
4 Replies

7. Shell Programming and Scripting

#/usr/bin/csh -f not working as expected?

Hey everyone, A coworker of mine has written a csh script that starts with #!/usr/bin/csh -f. It's my understanding that the -f should skip the .cshrc and .login files, but here's the problem: In the script "line" is used, and I happen to have a "line" in my ~/bin. When the script is ran my... (4 Replies)
Discussion started by: effigy
4 Replies

8. UNIX for Dummies Questions & Answers

Difference between /bin, /usr/bin, /sbin ?

Hi All, Can somebody tell me the difference between /bin, /usr/bin, /sbin ? Thanx in advance, Saneesh Joseph (3 Replies)
Discussion started by: saneeshjose
3 Replies

9. Shell Programming and Scripting

CSH CGI-BIN question ?

Hi, 1. How to Write csh CGI-BIN script which return a web page which show the environment of the executed script ? 2. How do we read command line on csh and ksh ? Thank's (2 Replies)
Discussion started by: 7eleven
2 Replies

10. UNIX for Dummies Questions & Answers

/bin/sh: /usr/bin/vi: No such file or directory when doing crontab

I just set up an ftp server with Red Hat 5.2. I am doing the work, I'm baby stepping, but it seems like every step I get stuck. Currently, I'm trying to set up a crontab job, but I'm getting the following message: /bin/sh: /usr/bin/vi: No such file or directory. I see that vi exists in /bin/vi,... (3 Replies)
Discussion started by: kwalter
3 Replies
Login or Register to Ask a Question