gpt4 book ai didi

unix - tcl/tcsh 混合脚本上的错误放置 () 错误

转载 作者:行者123 更新时间:2023-12-04 18:13:58 24 4
gpt4 key购买 nike

我有一个休闲脚本,它在开始时在 tcsh 中运行,然后在 tcl 中运行。
我收到错误 badly placed ()'s并且不明白为什么我得到它。

    #!/usr/intel/bin/tcsh -f
#\
set TCL_VERSION="8.4.6o_64"
#\
setenv WORK_AREA_ROOT_DIR .
#\
exec ${CAD_ROOT}/tcl/${TCL_VERSION}/bin/wishx "$0" "$*" &

lappend auto_path $env(KITE)/lib/pwidget
lappend auto_path $env(KITE)/local_cad/nlview/tcl/
lappend auto_path $env(KITE)/tcl/

lappend auto_path $env(KITE)/gui/tcl/plotter
lappend auto_path $env(KITE)/gui/tcl/graph-class

package require Pwidget+
package require Nlview

package require sparam_view_graph

package require BLT
namespace import -force ::blt::bgexec

source $env(KITE)/gui/tcl/sparam_view_env.tcl
source $env(KITE)/tcl/sparamParser.tcl

load $env(KITE)/lib/utils/libKitKiteUtilsTcl.so
source $env(KITE)/lib/utils/qbnamex.tcl

catch {delete object reg}
TclRegistry reg -varname _app

sparam_view_env "." $argv

只有在我得到 tcl (wish) 开始运行的指示后才会出现错误消息:
> bin/sparam_view_stand_alone.tcl /nfs/iil/proj/dt/epm16/work/imelam2/test/kite_check/kite/input/s2p/ISI_bit29.s2p
[1] 11474
Badly placed ()'s.

最佳答案

exec ${CAD_ROOT}/tcl/${TCL_VERSION}/bin/wishx "$0" "$*" &


&最后,这会在脚本上执行 TCL 解释器,但会继续在 csh 中执行。由于后面是 TCL 语法而不是 csh,所以这不能正确结束,并且确实 csh 在到达行时会提示 lappend auto_path $env(KITE)/lib/pwidget .删除 & .

另外, "$*"连接所有参数并在单个参数中将它们传递给 wishx .要传递不变的参数,请将 ${*:q} .此外,如果 wishx解释器由于某种原因不存在,您应该退出脚本而不是继续在 tcsh 中执行它。
exec "${CAD_ROOT}/tcl/${TCL_VERSION}/bin/wishx" "$0" ${*:q}
#\
exit 127

哦,考虑改用 Bourne shell 语法。 Csh is not a very good scripting tool in the first place ,甚至在交互式使用方面,自 1990 年代初以来 tcsh 已经被 zsh 超越,而 bash 在 1990 年代后期 catch 了。现在你会发现很多没有 csh 的 unix 系统,而每个 unix 系统都有一个 Bourne 风格的 shell,如 /bin/sh。 ,你会很难找到一个太旧以至于它不 understand "$@" .
#!/bin/sh
#\
TCL_VERSION="8.4.6o_64"
#\
WORK_AREA_ROOT_DIR=.
#\
export WORK_AREA_ROOT_DIR
#\
exec "${CAD_ROOT}/tcl/${TCL_VERSION}/bin/wishx" "$0" "$@"
#\
exit

关于unix - tcl/tcsh 混合脚本上的错误放置 () 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12068543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com