如何从shell脚本运行TCL脚本?

Din*_*esh 4 shell tcl

我是TCL脚本和shell脚本的新手.我想从shell脚本调用TCL脚本.我试过如下.

#!/bin/sh

for i in {1..5}
do
   my_script
   test_script
done
Run Code Online (Sandbox Code Playgroud)

如果我运行脚本,它会抛出如下错误,

./sample.sh: line 5: my_script: command not found
./sample.sh: line 5: test_script: command not found
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

提前致谢.

Don*_*ows 7

如果您尚未使脚本可执行(使用chmod +x),那么您需要使用:

tclsh my_script.tcl
Run Code Online (Sandbox Code Playgroud)

或者可能tclsh8.5 /path/to/script.tcl有很多变体。

如果您使脚本可执行,请检查包含该脚本的目录是否在您的目录中PATH(如果没有,请使用脚本的完整文件名或调整您的PATH),并且您是否有合适的#!行。通常推荐的一种是:

#!/usr/bin/env tclsh8.5
Run Code Online (Sandbox Code Playgroud)

因为这将在您的路径中搜索可执行文件,tclsh8.5而不是对其进行硬编码。


Adr*_*rth 6

如果在您的$PATH身上找不到它们,您必须提供脚本的路径,例如:

./my_myscript         # current directory
/path/to/test_script  # absolute path
Run Code Online (Sandbox Code Playgroud)