0

tcl バッファを bash 変数にエクスポートしようとしていますが、うまく動作しません。

以下の私の例が、私が達成しようとしていることを明確にすることを願っています.

私は間違いなくtcl埋め込みスクリプトが欲しい

======================================
#!/bin/bash
var=bash_to_tcl

expect -c "

puts lindex $argv 0

expect "xx"
send "123\n"

set $var $expect_out(buffer) <<<< setting the variable to export to bash>>>>>>

}
exit 0

<<<>> =====================================

echo $var "tcl_to_bash"    (THIS IS WHERE I AM HAVING ISSUES) <<<<<<<<<<<<<<<<<<<
=====================================

私は例の手がかりを探していますが、何も見つかりません。ecpect は機能しましたが、出力を bash にエクスポートできません

4

1 に答える 1

3

子プロセス (expect) は、親 (bash) の環境を変更できません。通常、情報は stdio チャネルを介してプロセス間で渡されます。

#!/bin/bash

# this is how bash captures the output of the expect program
var=$(expect -c '
    spawn ...
    expect "xx"
    send "123\n"
    # here is expect sending the info back to the parent
    puts $expect_out(buffer)  
')
do something with "$var"
于 2013-10-30T15:37:18.567 に答える