我看到 MinGW shell 启动时
sh --login -i
另一种启动方式如下
sh --login
我知道这-i
是用于交互式 shell,但我没有看到这两个命令之间的区别。
答案1
如果您没有传递通过运行的命令-c
,并且标准输入/输出流映射到终端,则交互模式是默认模式。
因此,在命令行上指定-i
是没有必要的。在某些情况下,可以在脚本中或从另一个程序调用 shell 时指定。
请参阅 bash 手册页中的 INVOCATION 部分:
交互式 shell 是在没有非选项参数和 -c 选项的情况下启动的,其标准输入和错误都连接到终端(由 isatty(3) 确定),或者使用 -i 选项启动的。[...]