我正在尝试在Windows7上构建一个名为Slicer3的软件,它以“超级构建”为特色。它是一个用于签出和构建Slicer3的一体化TCL脚本。
我运行CYGWIN并导航到正确的目录,然后运行脚本并得到:
$ ./Slicer3-svn/Scripts/getbuildtest.tcl
couldn't read file "./Slicer3-svn/Scripts/getbuildtest.tcl": no such file or directory显然,我确信该文件存在,并且我给了它777权限。我以管理员身份运行cygwin。
tcl文件内容的开头为:
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"所以我试着注释掉第3行,然后直接运行
$ tclsh ./Slicer3-svn/Scripts/getbuildtest.tcl但得到了相同的错误。有什么想法吗?
发布于 2011-05-25 17:53:17
描述: TCLSH无法读取文件:没有这样的文件或目录。可能的原因: CYGWIN下的TCLSH不能正确解析windows路径,并且找不到文件。解决方法:在CYGWIN路径内移动脚本。
只需将脚本移动到“更简单”的路径,这对我来说是可行的。我不太确定原因,也不知道如何解决这种不当行为。
发布于 2011-05-21 05:32:16
我将尽我所能帮助进行故障排除:
确定您是否安装了tclsh,并且它在以下路径中:
$ tclsh确定tclsh是否适用于简单脚本:
$ echo puts hello > hello.tcl; tclsh hello.tcl确定脚本是否存在且可读:
$ cat ./Slicer3-svn/Scripts/getbuildtest.tcl
$ cd ./Slicer3-svn/Scripts
$ cat getbuildtest.tcl至于行尾(DOS CRLF与Unix LF):
$ cd ./Slicer3-svn/Scripts
$ sed 's/\r\n/\n/g' getbuildtest.tcl > getbuildtest_new.tcl
$ tclsh getbuildtest_new.tcl这样,如果任何步骤都失败了,我们可以缩小问题的范围。
https://stackoverflow.com/questions/6072113
复制相似问题