首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCL / TCLSH没有这样的文件或目录

TCL / TCLSH没有这样的文件或目录
EN

Stack Overflow用户
提问于 2011-05-20 20:49:56
回答 2查看 9.1K关注 0票数 2

我正在尝试在Windows7上构建一个名为Slicer3的软件,它以“超级构建”为特色。它是一个用于签出和构建Slicer3的一体化TCL脚本。

我运行CYGWIN并导航到正确的目录,然后运行脚本并得到:

代码语言:javascript
复制
$ ./Slicer3-svn/Scripts/getbuildtest.tcl
couldn't read file "./Slicer3-svn/Scripts/getbuildtest.tcl": no such file or directory

显然,我确信该文件存在,并且我给了它777权限。我以管理员身份运行cygwin。

tcl文件内容的开头为:

代码语言:javascript
复制
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"

所以我试着注释掉第3行,然后直接运行

代码语言:javascript
复制
$ tclsh ./Slicer3-svn/Scripts/getbuildtest.tcl

但得到了相同的错误。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-25 17:53:17

描述: TCLSH无法读取文件:没有这样的文件或目录。可能的原因: CYGWIN下的TCLSH不能正确解析windows路径,并且找不到文件。解决方法:在CYGWIN路径内移动脚本。

只需将脚本移动到“更简单”的路径,这对我来说是可行的。我不太确定原因,也不知道如何解决这种不当行为。

票数 2
EN

Stack Overflow用户

发布于 2011-05-21 05:32:16

我将尽我所能帮助进行故障排除:

确定您是否安装了tclsh,并且它在以下路径中:

代码语言:javascript
复制
$ tclsh

确定tclsh是否适用于简单脚本:

代码语言:javascript
复制
$ echo puts hello > hello.tcl; tclsh hello.tcl

确定脚本是否存在且可读:

代码语言:javascript
复制
$ cat ./Slicer3-svn/Scripts/getbuildtest.tcl
$ cd ./Slicer3-svn/Scripts
$ cat getbuildtest.tcl

至于行尾(DOS CRLF与Unix LF):

代码语言:javascript
复制
$ cd ./Slicer3-svn/Scripts
$ sed 's/\r\n/\n/g' getbuildtest.tcl > getbuildtest_new.tcl
$ tclsh getbuildtest_new.tcl

这样,如果任何步骤都失败了,我们可以缩小问题的范围。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6072113

复制
相关文章

相似问题

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