各ホスト名のカスタムテキストをエコーするようにSSH設定を編集する方法はありますか?

各ホスト名のカスタムテキストをエコーするようにSSH設定を編集する方法はありますか?

複数のホストを含​​むSSH設定ファイルがあり、各ホストにはいくつかのポート転送が事前設定されています。

Host host
  HostName host.server.com
  User user
  LocalForward 1234 localhost:9911
  LocalForward 5678 localhost:9922

次のテキストを表示する簡単な方法はありますか?

Service 1 (port: 9911) forwarded to port: 1234
Service 2 (port: 9922) forwarded to port: 5678

ログインするとき?

ベストアンサー1

奇妙な解決策:

awk '/LocalForward/ 
{ count++;
  split($3,arr,":");
  printf "Service %i ( port: "arr[2]") forwarded to port : "$2"\n",count 
}' ssh_config

LocalForward ラインパターンが一致すると、変数の数が増加します。分割線の3番目のスペースを使用してフィールドを区切ります。結果を配列(arr)に配置します。 arr 配列の 2 番目の要素と、行から空白で区切られた 2 番目のデータセグメントを抽出するために必要なテキストを印刷します。

おすすめ記事