Tcsh脚本不会退出

时间:2016-02-29 20:25:34

标签: linux shell scripting centos7 tcsh

我正在运行CentOS 7,我遇到了tcsh脚本问题。

我有一个名为quittest的简单脚本。

#!/bin/tcsh
echo "Simple Test"
exit 0

当我从终端运行quittest时,我得到了

"Simple Test"

并没有退出。我可以通过Control + C退出。我用以下方法检查了这个状态:

  

ps aux

并显示状态为S +(前景可中断睡眠)的quittest。如果我将此脚本更改为bash或sh,则运行正常,并按预期退出。

我不能只是切换到另一个shell,因为我的用户使用tcsh编写了非常复杂的脚本。我们正在用CentOS 7取代OpenSuSE 12.3。

Tcsh版本6.18.01-7。 SELinux已经准备好测试这个问题了。

2 个答案:

答案 0 :(得分:1)

原来,我的〜/ .history文件就是问题所在。我删除了它,脚本按预期运行。必须在某个时候挂断权限问题。

答案 1 :(得分:1)

我在所有Fedora 23,tcsh版本6.19.00-3.fc23上遇到了同样的问题。
原因是〜/ .history.lock文件。删除锁定文件解决了这个问题。