"open | $filex" 无法仅在 windows 上执行现有文件

"open | $filex" couldn't execute existing file on windows only

下面的代码:

set filex "./run.sh"

if {[file exist $filex]} {
    puts "File exist!"
}

if {[catch {open |$filex r} pipe]} {
    puts "pwd = [pwd]"
    puts "ERROR: $pipe"
}

returns 后续消息:

File exist!
pwd = F:/
ERROR: couldn't execute ".\run.sh": no such file or directory

问题在 linux OS 中不存在(脚本通常是 运行),仅在 Windows 中出现(也在 CygWin 上)。该文件的权限是:777。OS?

两者的任何通用解决方法

我通过在“|”后添加 bash 找到了解决此问题的方法字符:

if {[catch {open "|bash $filex" r} pipe]} {