在 tcl exec 命令中使用 Clearfsimport

Use Clearfsimport within a tcl exec command

我正在使用 clearfsimport 以递归方式将文件树检查到 clearcase 中。从我读过的所有内容来看,这似乎是最好的方法,但是当我在 tcl 脚本中 运行 命令 exec clearfsimport -rec -nset create_clearcase_tempfile/* . 时,我收到以下错误;

Validating directory ".".
Closing directories.
No change in version "/main/91" of directory "."
clearfsimport: Error: Could not access "create_clearcase_tempfile/*".

我怀疑 /* 混淆了命令,但是当我在 tcl 之外直接在 bash 命令中尝试它时,它完全按预期工作。有人可以告诉我我缺少什么吗?

问题在于(与bash不同)Tcl 默认不扩展文件 glob;它只是将 * 传递过去,ClearCase 对此感到惊讶。您可能想要更改:

exec clearfsimport -rec -nset create_clearcase_tempfile/* .

对此:

exec clearfsimport -rec -nset {*}[glob create_clearcase_tempfile/*] .