我正在运行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已经准备好测试这个问题了。
答案 0 :(得分:1)
原来,我的〜/ .history文件就是问题所在。我删除了它,脚本按预期运行。必须在某个时候挂断权限问题。
答案 1 :(得分:1)
我在所有Fedora 23,tcsh版本6.19.00-3.fc23上遇到了同样的问题。
原因是〜/ .history.lock文件。删除锁定文件解决了这个问题。