bash脚本:采购tcsh脚本

时间:2014-09-25 17:02:33

标签: bash tcsh

我需要从我的bash脚本中获取一个tcsh脚本。我试过这样做:

tcsh -c "source ~/test.tcsh"

此命令的问题是在源tcsh脚本中$_为空。有什么方法可以解决这个问题吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

source命令在当前shell中运行脚本。 tcsh -c "source ~/test.tcsh"在运行test.tcsh命令的shell中提供文件source,该命令是tcsh的实例,而不是运行bash的{​​{1}} shell }。您无法以任何影响当前 bash shell环境的方式执行tcsh脚本。您可以启动一个新的tcsh shell,该shell继承自bash的实例,该实例经过如此修改,具有类似

的内容
tcsh

但这可能不是你所需要的。例如,

tcsh -c 'source ~/test.tcsh; bash'

会让你进入交互式tcsh -c 'source ~/test.tcsh; bash' echo "OK, we're back" shell,但在退出该shell之前你不会看到“OK,我们回来了”,这会导致bash退出并返回控制权原来的。