我正在用Expect编写脚本,并希望将命令的输出保存在变量中。那可能吗? 命令是
echo "text here"| base64
我知道我可以使用“ set”设置变量,但是
set var ["echo text here| base64"]
或
set var [ spawn "echo text here| base64"]
不起作用。这样,我只是保存字符串而不是输出。
答案 0 :(得分:3)
exec
命令返回命令的输出。这样就可以将其设置为变量:
set var [exec echo "text here" | base64]
但是,您可以避免使用echo
:
set var [exec base64 << "text here"]
在Tcl 8.6中,您可以完全跳过运行外部程序的步骤:
set var [binary encode base64 "text here"]
package require base64
set var [base64::encode "text here"]