1.5 コマンドラインでのCLIコマンドへの受渡し

CLIを実行して簡単なコマンドに渡す場合は、次のように、SSHログイン資格証明の後に、引用符で囲んだコマンドを追加します。

# ssh admin@hostname -p 10000 "list Server" 

次のように、コマンド・デリミタとしてセミコロン(;)を使用して複数のコマンドを送信できます。

# ssh admin@hostname -p 10000 "list Server; show Server name=MyServer" 

鍵ベースの認証を有効にしている場合、CLIにアクセスするパスワードの入力は求められず、結果が表示されます。そうしていない場合、結果が返される前にCLIパスワードを入力する必要があります。鍵ベースの認証の設定の詳細は、1.3項「鍵ベースの認証」を参照してください。または、Oracle VM Managerホストでeovmcliまたはeovmclixml Expectスクリプトの例を使用して、入力を求められることなくパスワードを渡すことができます。これらのスクリプトは、プレーン・テキストまたはXMLのいずれかで結果を返します。たとえば、eovmcli Expectスクリプトを使用してOracle VM Serverのリストをプレーン・テキストで表示するには、次のように入力します。

# cd /u01/app/oracle/ovm-manager-3/ovm_cli/expectscripts/
# ./eovmcli admin password "list Server"
Command: list Server
Status: Success
Time: date
Data:
  id:00:e0:81:4d:41:01:00:e0:81:4d:40:d6:00:e0:81:4d  name:MyServer1
  id:00:e0:81:4d:40:c6:00:e0:81:4d:40:c7:ff:ff:ff:ff  name:MyServer2
  id:00:e0:81:4d:40:f5:00:e0:81:4d:40:be:00:e0:81:4d  name:MyServer3

出力をXMLで表示するには、次のように、eovmclixml Expectスクリプトを使用します。

# cd /u01/app/oracle/ovm-manager-3/ovm_cli/expectscripts/
# ./eovmclixml admin password "list Server"
<response>
  <command>
    list Server
  </command>
  <status>
    Success
  </status>
  <time>
    date
  </time>
  <data>
    <object value="id:00:e0:81:4d:41:01:00:e0:81:4d:40:d6:00:e0:81:4d  name:MyServer1"/>
    <object value="id:00:e0:81:4d:40:c6:00:e0:81:4d:40:c7:ff:ff:ff:ff  name:MyServer2"/>
    <object value="id:00:e0:81:4d:40:f5:00:e0:81:4d:40:be:00:e0:81:4d  name:MyServer3"/>
  </data>

セミコロンを使用できるのは、sshコマンドの使用時にコマンドを区切る場合のみです。eovmcliまたはeovmclixml Expectスクリプトは、コマンド・デリミタとしてセミコロンを受け入れることはありません。

CLIに、より複雑なコマンドを渡す場合は、1.6.2項「Expectスクリプトの作成」で説明するように、独自のExpectスクリプトを作成できます。他のプログラミング言語を使用して、1.8項「アプリケーションへのCLIの統合」で説明するように、CLIを使用してスクリプトを作成することもできます。