Answers:
exec bash
应该用bash(的新实例)替换当前的shell进程。
man bash
,找到字符串SHELL BUILTIN COMMANDS的最后一个实例,然后向下滚动到exec。简而言之,传递该-c
标志将在没有任何环境变量的情况下运行它(我不知道这可能是出于您的目的所必需的),而其他参数-l和-a可能不是您想要的(它们似乎是历史性的) /晦涩和特定功能)。如果不使用命令,也可以使用exec在当前shell中打开新文件描述符。
-l
这是bash的一个参数,只是使其表现得像登录外壳一样。在当前shell中打开文件描述符与您的问题无关,但是您可以使用exec 4<>test.txt
例如使文件描述符4指向test.txt。然后,在外壳程序的其余部分中,您可以echo test>&4
输出到test.txt。
exec bash
仅重新启动该交互式shell吗?另外,您能否确切说明exec命令的功能及其选项?谢谢!