如何在bash或zsh shell中传递tcl命令?
基本上,我试图做的是在如何在bash或zsh shell中传递tcl命令?,shell,tcl,pipe,Shell,Tcl,Pipe,基本上,我试图做的是在zshshell中传递tcl命令。最常见的管道是用于文本操作的grep、awk和sed 使用perl和ruby有-e选项,它允许直接从shell执行语句,而无需在文件上编写脚本 在tcl中是否可以实现相同的功能 谢谢。可以通过管道将tcl one衬里连接到tclsh,例如: echo 'puts "do_something"' | tclsh 可以通过管道将tcl one liner连接到tclsh,例如: echo 'puts "do_something"' | tcl
zsh
shell中传递tcl
命令。最常见的管道是用于文本操作的grep
、awk
和sed
使用perl
和ruby
有-e
选项,它允许直接从shell执行语句,而无需在文件上编写脚本
在tcl
中是否可以实现相同的功能
谢谢。可以通过管道将tcl one衬里连接到
tclsh
,例如:
echo 'puts "do_something"' | tclsh
可以通过管道将tcl one liner连接到
tclsh
,例如:
echo 'puts "do_something"' | tclsh
tclsh
没有类似于-e
;它是一个非常简单的Tcl库包装器
您可以使用以下脚本进行模拟:
apply {{} {
global argv0 argv argc
if {[lindex $argv 0] eq "-e"} {
set script [lindex $argv 1]
set argv [lrange $argv 2 end]
incr argc -2
uplevel #0 $script
} else {
set argv0 [lindex $argv 0]
set argv [lrange $argv 1 end]
incr argc -1
uplevel #0 [list source $argv0]
}
}}
如果在名为tclhelper.tcl
的脚本中使用该脚本并定义shell别名:
alias tcl='tclsh tclhelper.tcl'
然后您将能够执行以下操作:
tcl -e "puts [info patchlevel]"
然后看看事情的进展。
tclsh
没有类似于-e
的东西;它是一个非常简单的Tcl库包装器
您可以使用以下脚本进行模拟:
apply {{} {
global argv0 argv argc
if {[lindex $argv 0] eq "-e"} {
set script [lindex $argv 1]
set argv [lrange $argv 2 end]
incr argc -2
uplevel #0 $script
} else {
set argv0 [lindex $argv 0]
set argv [lrange $argv 1 end]
incr argc -1
uplevel #0 [list source $argv0]
}
}}
如果在名为tclhelper.tcl
的脚本中使用该脚本并定义shell别名:
alias tcl='tclsh tclhelper.tcl'
然后您将能够执行以下操作:
tcl -e "puts [info patchlevel]"
并查看工作情况。不完全正确,但expect具有
-e
。在我的系统上,expect使用-c
选项。不完全正确,但expect具有-e
。在我的系统上,expect使用-c
选项。