Robinson Tiemuqinke <hahaha_30k@xxxxxxxxx> wrote:
Hi,
There is long-live annoying problem/issue with
redhat/Fedora Core Linux since redhat 7.2, as far as I
know. the '$?variable' expression in /etc/csh.cshrc
file blocks users' csh/tcsh scripts from running all
the time.
give the following test.csh script as an simple
example:
[root@www ~]# cat /var/tmp/test.csh
#!/bin/tcsh -Xvn
echo " I'm here"
[root@www ~]#
[root@www ~]# /var/tmp/test.csh
if ( "$group" == "$user" && $uid > 99 ) then
endif
if ( $?prompt ) then
$?prompt: No match.
[root@www ~]#
The script fails debugging. it fails at the line "if
($?prompt) then" inside /etc/csh.cshrc!
To successfully run and debug csh/tcsh scripts, we
have renamed the /etc/csh.cshrc to
/etc/csh.cshrc_redhatShit since redhat 7.2.
Any one can shed a light on this "problem"?
Thanks.
--Robinson
Two comments:
1) The problem only occurs if you use the "n" option. That is, running
test.csh with tcsh invoked with "#!/bin/tcsh -Xv" works.
2) The problem goes away under FC5. I was only able to reproduce the
problem with FC4.
Now here's something even weirder. The version of tcsh as given by
"echo $version" is identical between FC4 and FC5 and the /etc/csh.cshrc
files also appear to be identical. There is a difference between the
rpm versions so maybe somebody at Red Hat fixed it in FC5. Just to make
the story complete, the same test fails differently when run on a CentOS
4.3 (RHEL clone) box.
Cheers,
Dave
--
Politics, n. Strife of interests masquerading as a contest of principles.
-- Ambrose Bierce