我需要从我的bash脚本中获取一个tcsh脚本。我试过这样做:
tcsh -c "source ~/test.tcsh"
此命令的问题是在源tcsh脚本中$_
为空。有什么方法可以解决这个问题吗?
提前致谢!
答案 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
退出并返回控制权原来的。