分页: 1 / 1

在bash中执行tcsh脚本的问题

发表于 : 2008-09-23 8:49
bearscafe
tcsh脚本的第一行是:

代码: 全选

#!/bin/tcsh -ef
tcsh的位置是:

代码: 全选

$ whereis tcsh
tcsh: /bin/tcsh
比如一个tcsh脚本名叫foo.sh,我用

代码: 全选

tcsh foo.sh
就没问题,但用

代码: 全选

./foo.sh
就会出现各种各样的毛病,比如路径名多加个斜杠之类的莫名其妙的错误。

Re: 在bash中执行tcsh脚本的问题

发表于 : 2008-09-23 10:55
xeoc
转义的问题?

Re: 在bash中执行tcsh脚本的问题

发表于 : 2008-09-23 12:33
bearscafe
xeoc 写了:转义的问题?
不懂呀,能否说详细些?

Re: 在bash中执行tcsh脚本的问题

发表于 : 2008-09-26 21:41
aerofox
你再执行

代码: 全选

tcsh -ef foo.sh
看看是不是也出来各种各样的毛病?

Re: 在bash中执行tcsh脚本的问题

发表于 : 2008-09-27 10:22
bearscafe
aerofox 写了:你再执行

代码: 全选

tcsh -ef foo.sh
看看是不是也出来各种各样的毛病?
执行tcsh -ef foo.sh是正常的。另外我平时使用bash,没有.tcshrc文件。
望高人指教!

Re: 在bash中执行tcsh脚本的问题

发表于 : 2008-09-27 10:27
bones7456
干脆贴代码出来大家调试下吧。

Re: 在bash中执行tcsh脚本的问题

发表于 : 2008-09-27 18:38
bearscafe
bones7456 写了:干脆贴代码出来大家调试下吧。
问题是,并不是shell脚本本身报错,而是代码调用了许多可执行的二进制程序,是二进制程序(无源码)报出些奇怪的错误,一般是路径找不到之类的错误。很奇怪用tcsh foo.sh代替./foo.sh的话,那些二进制程序就工作正常。

Re: 在bash中执行tcsh脚本的问题

发表于 : 2008-09-27 20:04
aerofox
把有问题的地方改为这条语句:

代码: 全选

env
再用两种方式执行一下,看看输出的环境变量有什么不同。