gpt4 book ai didi

linux - 在 tcl 中删除文件时文件名太长错误

转载 作者:可可西里 更新时间:2023-11-01 11:48:20 27 4
gpt4 key购买 nike

我正在尝试删除带有 .来自 tcl 脚本的 vcd 扩展名。但是我收到文件名太长的错误。我试过 puts [file delete [glob *.vcd]]。正确的做法是什么?

最佳答案

问题是

file delete [glob *.vcd]

不会按照您的想法进行评估。 glob 扩展得太晚了,整个结果(所有文件一起)被视为一个文件。如果您有大量文件,则会导致该错误。

今天我认为你可以使用:

file delete {*}[glob *.vcd]

立即扩展。我曾经使用 eval file delete ... 执行此操作,如果它不起作用(可能是旧版本的 TCL)。此外,puts 在这里没有用,file delete 没有返回任何内容。

评论里有些讨论是否

eval file delete [glob stuff*]

对于奇怪的东西是安全的,比如名为 "rm -rf ~;" 的文件(是的,合法的)。答案是肯定的,像 ; 这样的奇数字符在从 glob 返回并传递时会被转义,所以没有很少(永不言败)的担心对于这样奇怪的注入(inject)。

关于linux - 在 tcl 中删除文件时文件名太长错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49475821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com