我想在变量中捕获命令的标准输出,类似于 Bash 中的命令替换:
#!/bin/bash
x="$(date)"
echo $x
我尝试在 tclsh 中做同样的事情,但它没有做我想要的:
#!/bin/tclsh
set x [date]
echo $x
tclsh myscript.tclsh
如果我用它执行脚本会出错:
invalid command name "date"
while executing
"date "
invoked from within
"set x [ date ]"
另一方面,如果我打开一个 TCL 交互式 shell tclsh
,它不会给出错误,并且该 echo
行打印一个空字符串。
为什么当我在有或没有 REPL 的情况下执行脚本时我的程序给出不同的结果?是否有一种方法可以捕获 shell 命令的输出并将其存储在变量中,类似于 Bash 中的命令替换?