Mininet仮想マシンのセットアップ、VM への SSH 接続、VM 内での Mininet の起動、およびトポロジの初期化のプロセスを自動化したいと考えています。作成したネットワークを使用して Mininet にコマンドを発行できるように、セッションを開いたままにしておく必要があります。ネットワークの初期化を含め、すべてが機能しますが、bash スクリプトが終了すると、Mininet はトポロジを破棄し、仮想マシンを終了します。私のコードの関連部分は次のとおりです。
vboxmanage startvm "Mininet-VM_1" --type=headless
ssh -t -Y -l mininet -p 2222 localhost << HERPDERP
# Start the network
sudo mn --controller=remote,ip=$ip --custom /home/mininet/sf_mininet_vm/mininet/topo_basic.py --topo clos_tree --switch ovsk --link tc
HERPDERP
私が試したこと:
- ヒアドキュメントを
s0 bash;で終了します。 - で終わる
s0 $SHELL; - ヒアドキュメントの末尾にある区切り文字を削除します (暗闇で撮影)。
(1) と (2) は Mininet を終了し、VM にプロンプトを残しましたが、何らかの理由でそこからコマンドを発行できません。(3) 何もしません。