在bash中执行tcsh脚本的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
bearscafe
帖子: 694
注册时间: 2007-05-05 23:11
送出感谢: 2 次
接收感谢: 0

在bash中执行tcsh脚本的问题

#1

帖子 bearscafe » 2008-09-23 8:49

tcsh脚本的第一行是:

代码: 全选

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

代码: 全选

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

代码: 全选

tcsh foo.sh
就没问题,但用

代码: 全选

./foo.sh
就会出现各种各样的毛病,比如路径名多加个斜杠之类的莫名其妙的错误。
xeoc
帖子: 1994
注册时间: 2007-05-06 10:12
送出感谢: 0
接收感谢: 0

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

#2

帖子 xeoc » 2008-09-23 10:55

转义的问题?
头像
bearscafe
帖子: 694
注册时间: 2007-05-05 23:11
送出感谢: 2 次
接收感谢: 0

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

#3

帖子 bearscafe » 2008-09-23 12:33

xeoc 写了:转义的问题?
不懂呀,能否说详细些?
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30
送出感谢: 2 次
接收感谢: 31 次

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

#4

帖子 aerofox » 2008-09-26 21:41

你再执行

代码: 全选

tcsh -ef foo.sh
看看是不是也出来各种各样的毛病?
头像
bearscafe
帖子: 694
注册时间: 2007-05-05 23:11
送出感谢: 2 次
接收感谢: 0

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

#5

帖子 bearscafe » 2008-09-27 10:22

aerofox 写了:你再执行

代码: 全选

tcsh -ef foo.sh
看看是不是也出来各种各样的毛病?
执行tcsh -ef foo.sh是正常的。另外我平时使用bash,没有.tcshrc文件。
望高人指教!
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

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

#6

帖子 bones7456 » 2008-09-27 10:27

干脆贴代码出来大家调试下吧。
关注我的blog: ε==3
头像
bearscafe
帖子: 694
注册时间: 2007-05-05 23:11
送出感谢: 2 次
接收感谢: 0

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

#7

帖子 bearscafe » 2008-09-27 18:38

bones7456 写了:干脆贴代码出来大家调试下吧。
问题是,并不是shell脚本本身报错,而是代码调用了许多可执行的二进制程序,是二进制程序(无源码)报出些奇怪的错误,一般是路径找不到之类的错误。很奇怪用tcsh foo.sh代替./foo.sh的话,那些二进制程序就工作正常。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30
送出感谢: 2 次
接收感谢: 31 次

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

#8

帖子 aerofox » 2008-09-27 20:04

把有问题的地方改为这条语句:

代码: 全选

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

回到 “Shell脚本”