微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 tcl 脚本中使用符号链接时如何使用 *

如何解决在 tcl 脚本中使用符号链接时如何使用 *

所以我对 Linux env 有点陌生,我正在学习使用 .tcl 脚本。我想使用符号链接链接多个文件夹中具有相似结束词的一堆文件(例如:abc123.rpt)。通常在终端中,我可以轻松地做到这一点:

ln -sf ./dir/*/abc*.rpt   

但是我想在我的 .tcl 脚本中使用这个用法,如果我理解,像这样使用 exec:

exec ln -sf ./dir/*/abc*.rpt    

将在我正在使用的脚本环境之外执行 cmd,并在终端环境(即 tcsh)中执行 cmd。当我只使用 1 个文件时没问题,但它不明白当这个 cmd 与 * 一起使用时,链接回来的文件字面意思是“abc*.rpt”

解决方法

您需要执行文件名通配才能达到所需的结果:

exec ln -sf {*}[glob ./dir/*/abc*.rpt]

来源:https://www.tcl.tk/man/tcl/TclCmd/exec.htm#M29

再见

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。