在 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/*] .
我正在使用 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/*] .