我正在尝试从 tcl 脚本运行 csh 脚本。
下面的tcl脚本调用了一个csh脚本
#!/usr/bin/tclsh
set scripts_path /scratch/TCL_scripts/scripts_adders
set synthesis /scratch/TCL_scripts/synthesis.csh
set files [glob -directory $scripts_path *]
split $files
set files [lsort $files]
set i 1
foreach script $files {
puts "hello"
# puts [pwd]
exec /bin/csh -c $synthesis
puts $i
}
并且(开始的)csh 文件如下:
#!/bin/csh -f
echo abcdefgh
当我只从我的 unix 终端执行 csh 文件时,它工作正常。当我调用我的 Tcl 脚本时,它会运行并且确实会写入“hello”并打印 i,但不会执行 csh 文件,因为“abcdefgh”从未出现在终端中。我也尝试过其他命令,但我总是遇到同样的问题:当我从 Tcl 脚本运行 csh 脚本时,它永远不会执行,即使当我直接从终端运行它时它运行良好。
(我的 Tcl 脚本和 csh 脚本都是可执行的)
为了从我的 Tcl 脚本运行我的 csh 脚本,我必须做什么?
非常感谢