0

ncurses を使用してメニュー システムを作成し、Ubuntu ボックスの IP アドレスを設定しようとしています。ここにある例を取り上げました:

http://tuxradar.com/content/code-project-build-ncurses-ui-python

プログラムはすべての情報の入力を求めるプロンプトを正常に表示しますが、/etc/network/interfaces に書き込もうとしたときに問題が発生します。

コードスニペット

screen.addstr(4, 4, "1 - Configure Static IP Address")
.....
staticIP = get_param("Enter the IP address")
system("echo 'address ' + staticIP >> /etc/network/interfaces")

これはファイルへの書き込みに成功していますが、変数の値を使用せずにリテラル テキストを書き込んでいます。

address staticIP

最後の行はもともと「execute_cmd」でしたが、各行が実行されるたびにプロンプ​​トを表示せずに「system」が同じことをしているように見えることがわかりました。

私は python/ncurses の初心者です...そこにあるプロのヒントは大歓迎です! より良いオプションがあれば、私もそれを受け入れます... ncurses に縛られていません。

ありがとう!

4

1 に答える 1

0

コマンドが間違ってエスケープされています。それは読むべきです:

system("echo 'address '" + staticIP + " >> /etc/network/interfaces")

それ以外の場合は、 params と to command を送信しaddressています+staticIPecho

于 2013-09-15T18:42:20.953 に答える