如何让用户不能用ctrl+c退出一个脚本?

的确是其他用户,但是我的用户说的是“人”不是“accuont” sorry,我没有表达清楚

也就是说,不管什么用户,都只能用菜单里面的EXIT选项(exit 0)退出才行

当我调试好了以后

就要把退出的选项删除掉……让那个叫做atfa的帐号一登录就执行我的脚本,无法退出到命令提示符,要退出的话必须关掉远程登陆窗口,保证安全。
我同事是这样做的(aix的机器):

直接在脚本最后加一个

[code:1]
trap "" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 19
[/code:1]

但是我在linux上没有成功。
根据你的要求
[quote:a6589e655b="atfa"]哦,我懂了,是防止其他用户出去的……

你看我现在的情况是这样的

我有一个root,有一个atfa,atfa和root的uid都是0,也就是说atfa和root是一个用户

我要用atfa来执行一个脚本,因为必须要root权限,但是又不能直接给root的用户

所以采用uid相同的办法

现在不允许atfa用ctrl c退出来,就用你的方法可以吧?[/quote]
不好意思吃饭去了  看看这个
如下[code:1]
aa()
{ username=`whoami`
   grep ":0:0:" /etc/passwd | awk -F: '{print $1}' | grep "$username" > /dev/null
  if [ $? = 0 ] ;then
       exit 2
   else
      :
   fi
}
trap aa 2 [/code:1]
除了uid=0的用户以外 不可以使用ctrl + c终止程序!
经过测试…………

只要在整个脚本最开始加一行:

[code:1]        trap "" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [/code:1]

就可以保证整个脚本,以及执行的子进程都不会被ctrl-c退出,包括root用户都一样。

Linux和AIX下测试通过……
。。这个代码就是说对所有的信号不响应。。
关于”陷阱(trap)“,可以参看《Linux与Unix Shell编程指南》的第26章:shell工具
[quote:7288cc5ff5="atfa"]的确是其他用户,但是我的用户说的是“人”不是“accuont” sorry,我没有表达清楚。。。。。。。。。。。。。。。。[/quote]
你是没有表达清楚 结果让我写成 :除了uid=0的用户以外不可以用ctrl +c 终止程序

。。。。。。。。。。。。
[code:1]aa()
{ username=`whoami`
   grep ":0:0:" /etc/passwd | awk -F: '{print $1}' | grep "$username" > /dev/null
  if [ $? = 0 ] ;then
       exit 2
   else
      :
   fi
}
trap aa 2 [/code:1]