我有这个打开:
set r [catch {open "|[concat $config(cmd,sh) [list $cmd 2>@1]]" r} fid]
在哪里$config(cmd,sh)
,cmd /c
我正在尝试在 $cmd 中传递文件名(可能还有 echo 等命令)。如果文件名中没有空格,即 :
cmd 就万事大吉echo /filename
了。带空格,即:
cmdecho "/file name"
似乎传递的是:
\"file name\"
。
当我在 Linux 上尝试这个时,我得到"file name"
(没有反斜杠)。我试过用 替换文件名中的空格"\ "
,但是目标得到两个文件名,即空格用于分解文件名。
我开始认为我在 Tcl 的 Windows 端口中发现了一个错误......