Bash 如何忽略下一次狂欢?

Bash 如何忽略下一次狂欢?,bash,Bash,如果我使用导出变量方法,下一个bashshell可以忽略eof(按^D键不会退出)。 但是,我希望孩子们可以按^D退出。 有没有bash的命令行选项可以完成这项工作 export ignoreeof=1 exec bash # assume this bash's pid = 1234 bash$ ^D bash$ Use "exit" to leave the shell. bash$ bash # assume this bash's pid = 2234 bash$ ^D

如果我使用导出变量方法,下一个bashshell可以忽略eof(按^D键不会退出)。 但是,我希望孩子们可以按^D退出。 有没有bash的命令行选项可以完成这项工作

export ignoreeof=1
exec bash  # assume this bash's pid = 1234
bash$  ^D  
bash$  Use "exit" to leave the shell.
bash$  bash  # assume this bash's pid = 2234
bash$  ^D  <--  I wish this could exit bash(pid=2234)
export ignoreof=1
execbash#假设这个bash的pid=1234
bash$^D
bash$使用“exit”离开shell。
bash$bash#假设此bash的pid=2234
bash$^D

威廉,谢谢你的提示

exec bash -o ignoreeof # assume this bash's pid = 1234
bash$  ^D  
bash$  Use "exit" to leave the shell.
bash$  bash  # assume this bash's pid = 2234
bash$  ^D  <--  exit bash(pid=2234)
exec bash-o ignoreof#假设这个bash的pid=1234
bash$^D
bash$使用“exit”离开shell。
bash$bash#假设此bash的pid=2234

bash$^D刚刚尝试过。它不能工作。bash中的子bash将继承环境变量IgnoreOf。执行的进程(它不是子进程,而是shell成为新的shell)将IgnoreOf设置为0。请重新阅读我的问题,我给出了一个示例。也许你误解了我的问题。你试过我给出的答案吗?它将使第一个^D实际退出shell。如果您不希望这样做,并且只希望第二个^D退出第二个shell,那么您应该调用
ignoreof=0 bash
而不是
bash
,如果您愿意,您可以执行
bash+o ignoreof
,但效果与
ignoreof=0 bash
相同。变量需要全部大写:
ignoreof=1
exec bash -o ignoreeof # assume this bash's pid = 1234
bash$  ^D  
bash$  Use "exit" to leave the shell.
bash$  bash  # assume this bash's pid = 2234
bash$  ^D  <--  exit bash(pid=2234)