| 1032 | |
| 1033 | // 终端相关 IPC - 主进程直接使用 node-pty |
| 1034 | function resolveDefaultUnixShell() { |
| 1035 | const fromEnv = typeof process.env.SHELL === 'string' ? process.env.SHELL.trim() : '' |
| 1036 | if (fromEnv && fs.existsSync(fromEnv)) return fromEnv |
| 1037 | if (fs.existsSync('/bin/zsh')) return '/bin/zsh' |
| 1038 | if (fs.existsSync('/bin/bash')) return '/bin/bash' |
| 1039 | return '/bin/sh' |
| 1040 | } |
| 1041 | |
| 1042 | const DEFAULT_SHELL = IS_WINDOWS ? 'powershell.exe' : resolveDefaultUnixShell() |
| 1043 | const CMD_SHELL = IS_WINDOWS ? (process.env.ComSpec || 'cmd.exe') : null |