当我在获取包含选项“set-e”的bash脚本后执行windows命令时,WSL突然关闭`
复制的步骤 请注意,我使用的是WSL(Ubuntu18)版本1。 Windows版本1909(操作系统版本18363.900)当我在获取包含选项“set-e”的bash脚本后执行windows命令时,WSL突然关闭`,bash,shell,windows-subsystem-for-linux,Bash,Shell,Windows Subsystem For Linux,复制的步骤 请注意,我使用的是WSL(Ubuntu18)版本1。 Windows版本1909(操作系统版本18363.900) 创建一个虚拟bash脚本foo.sh,其中包含选项set-e 在WSL中执行以下命令 在我执行第二个命令explorer.exe之后。WSL突然关闭。我只是尝试了一下,事实上:当我运行explorer时,资源管理器窗口在后台打开,启动资源管理器的进程返回,退出代码为1。我不知道为什么微软以其无穷的智慧决定以这种方式实施它 当然,在交互式shell中使用set-e是疯狂的
foo.sh
,其中包含选项set-e
在我执行第二个命令
explorer.exe之后。
WSL突然关闭。我只是尝试了一下,事实上:当我运行explorer
时,资源管理器窗口在后台打开,启动资源管理器的进程返回,退出代码为1。我不知道为什么微软以其无穷的智慧决定以这种方式实施它
当然,在交互式shell中使用set-e
是疯狂的。我建议取消它。如果场景不是交互式shell(您的问题还不完全清楚),但您从脚本内部运行命令,并且确实希望继续使用-e
,请使用
explorer.exe || true
保持shell运行。
set-e
如果命令返回的值不同于0,则终止shell。
$ source foo.sh
$ explorer.exe .
explorer.exe || true