首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCL exec命令错误

TCL exec命令错误
EN

Stack Overflow用户
提问于 2018-11-30 08:42:46
回答 1查看 265关注 0票数 1
代码语言:javascript
复制
bind pub "-|-" !tests pub:tests
proc pub:tests { nick host handle channel arg } {

set size [ exec ls -l /home/archiv/pics/*.r* | wc -l ]
putnow "PRIVMSG $channel :size $size"

}

我有这个错误

代码语言:javascript
复制
[09:36:19] Tcl error: 0
ls: cannot access '/home/archiv/pics/*.r*': No such file or directory

当我在bash测试时

代码语言:javascript
复制
ls -l /home/archiv/pics/*.r* |wc -l
result:
71

如何使用.r (通配符)?怎么啦?dir是正确的,acces是正确的。帮个忙。

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-30 11:05:21

您正确地感觉到:Tcl的[exec]不提供类似bash的通配符扩展。通过使用它的[exec][llength]命令,Tcl可以更容易地为您做到这一点,而无需使用[glob]‘out:

代码语言:javascript
复制
 set size [llength [glob "/home/archiv/pics/*.r*"]]

如果您仍然更喜欢其他shell而不是Tcl (例如bash),那么您必须显式地将[exec]放入shell中,例如:

代码语言:javascript
复制
 set size [exec bash -c "ls -l /home/archiv/pics/*.r* | wc -l"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53554050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档