为什么当我使用'source'来运行TCL脚本时出现错误?

问题描述 投票:0回答:1

我正在处理TCL脚本。当我运行tclsh script.tcl时,脚本可以正常运行,但是当我运行source script.tcl时,将不再找到命令。

“这是脚本”“>

这是“源”命令结果” >></p></p><p class="desc">我现在正在处理TCL脚本。当我运行tclsh script.tcl时,脚本可以正常运行,但是当我运行源script.tcl时,不再找到命令。这是脚本这是“ ...</div></p> <div class="answers"><div class="answer" vote="0" tick="False"><div class="post-text" itemprop="text"><p>[<code>source</code>不能用于运行不是用<em>您在其中调用它的shell的本机语言]编写的任何脚本。</div><p>即,在bash中,<code>source</code>仅可用于运行bash脚本。它无法运行TCL脚本。本质上是这样的:<code>source</code>的作用是<em>跳过运行额外的shell或其他解释器</em>(因此,强制忽略<code>#!/usr/bin/env tclsh</code> shebang),然后在您已经在其中的shell中运行代码。</p><p>如果该外壳程序仅讲bash,但不讲TCL,则可能会出现语法错误。错误消息上的<code>bash:</code>前缀清楚表明实际上是这种情况;是bash,不是<code>tclsh</code>,试图解释脚本。</em></p></p></div></div>

ubuntu tcl ns2 tclsh
1个回答
0
投票

[source不能用于运行不是用您在其中调用它的shell的本机语言]编写的任何脚本。

即,在bash中,source仅可用于运行bash脚本。它无法运行TCL脚本。这是它的本质:source的作用是跳过运行额外的shell或其他解释器

,然后在您已经进入的shell中运行代码。

如果该外壳程序仅讲bash,但不讲TCL,则可能出现语法错误。

© www.soinside.com 2019 - 2024. All rights reserved.