以下のようなシェルスクリプトスクリプトがあります。
#!/bin/bash
CPUSELECTION="1 386SX off \
2 386DX on \
3 486SX off \
4 486DX off "
#dialog --backtitle "Select CPU" --radiolist "Select the cpu" 10 40 4 $CPUSELECTION
echo $CPUSELECTION
今私のpyファイルは
import pexpect
child = pexpect.spawn ('sh /tmp/test.sh')
child.expect('386DX')
fp = open('/tmp/test.txt', 'w')
print >> fp, "Before 386DX:", child.before
print >> fp, "After 386DX:", child.after
child.expect('486SX')
print >> fp, "Before 486SX:", child.before
print >> fp, "After 486SX:", child.after
fp.close()
このスクリプトの出力は次のとおりです。
$ cat /tmp/test.txt
Before 386DX: 1 386SX off 2
After 386DX: 386DX
Before 486SX: on 3
After 486SX: 486SX
これから、いくつかのテキストの間にテキストを取得します。
しかし、ダイアログボックスを使用する場合
#!/bin/bash
CPUSELECTION="1 386SX off \
2 386DX on \
3 486SX off \
4 486DX off "
dialog --backtitle "Select CPU" --radiolist "Select the cpu" 10 40 4 $CPUSELECTION
#echo $CPUSELECTION
ジャンク出力を取得しました。
ダイアログボックスからプレーンテキストを取得する方法はありますか?
ダイアログボックス付きのシェルスクリプトはサードパーティから提供されているため、スクリプトを変更することはできません:(。
シェルスクリプトを変更せずに解決策を提供してください。