我对Linux还是相当陌生的,但是我对SSH和PUTTY的概念更新。在我将SSH放入linux盒后,我会发出以下命令:
csh -c 'cd /; set echo off; set term=dumb; set echo on; pwd; csh -i'除了信号中断(如Ctrl+C )引起的头痛之外,这一切都很好。我做了研究并得出以下结论:
onintr -可以用于阻止给定脚本中的信号。这让我考虑将onintr -放入cshrc :这样,每次运行上面的命令时都会执行它。但是这一行只是本地的一个脚本,所以它不会像我想要的那样产生任何真正的全局效果。bash -c的行为方式与csh -c大致相同,因此为了复制上面的命令,我尝试用bash替换csh,并将trap "" 2附加到命令中。因此,全部命令如下:
bash -c' cd /; set echo off; set term=dumb; set echo on; pwd; bash -i; trap "" 2'但是bash -c的行为不一定像csh -c,至少在这种情况下是这样的。
关于如何解决这个问题,我意见不一。默认情况下,如何让shell忽略Ctrl+C?我应该把onintr -放进cshrc吗?还是我最好使用bash并运行trap命令?我应该如何实现更好的解决方案?
发布于 2013-10-31 02:01:22
虽然我不完全明白为什么您会使用这样的语句
bash -c‘cd /;set echo off;set term=dumb;set echo on;pwd;bash -i;’
您可以将trap放在bash -i之前,以防止bash -i接收信号,如下所示:
bash -c‘cd /;设置回波关闭;设置term=dumb;设置回波启动;pwd;陷阱“2;bash -i;’
https://stackoverflow.com/questions/18234232
复制相似问题