擬似対話型SSHスクリプト

擬似対話型SSHスクリプト

ローカルネットワーク上の他のコンピュータに接続するスクリプトを実行する必要がありますssh(RSAキーをペアで接続しました)。sshログインしたら、コマンドを実行し、ローカルスクリプトからコマンドの結果を取得する必要があります(分析するため)。を押してから、最初のコマンドの一部の情報に基づいて作成された他のコマンドを実行します。

私がやろうとしているタスクのステップバイステップのガイドラインは次のとおりです。

  • sshFileMaker Server 11を実行しているコンピュータに移動します。
  • 顧客リストのインポート
  • 顧客を探す
  • クライアントがログインしている場合は、リストからそのIDを取得します。
  • FileMakerサーバーへの接続解除IDコマンドの送信
  • やめる。

これがあまりにも歪んでいないことを願っています。

ベストアンサー1

それは次のとおりです。

#!/bin/sh
clients=$(ssh server "get-list-of-clients")
myclient=$(echo $clients | grep my-client-name)
myclientid=$(echo $myclient | sed -e 's/^.*id=\([0-9]*\).*$//')
ssh server "kill-client-with-id $myclientid"
  • 最初の行はサーバーに接続し、クライアントのリストを要求します(もちろん、クライアントのリストを取得するために正しいサーバー名とコマンドで置き換えます)。
  • 2行目は目的の顧客だけを抽出します。
  • 3行目は使用したいクライアントIDのみを抽出し、その行の対応する部分には数字sed(1)だけを残します id=1234(形式がそのように発生しない限り、編集する必要があるかもしれません)。
  • 4行目はリモートサーバーに接続し、指定されたクライアントを終了します。

おすすめ記事