以下のようにサーバーの稼働時間を取得するためにコマンドを実行します。
[root@localhosts ~]# printf "`uname -n` `uptime| awk -F " " {'print $3,$4'}`\n"
localhosts 75 days,
別のホストで上記のLinuxサーバー「localhosts」で同じコマンドを実行して同じ出力を取得すると、エラーが発生します。
[root@master /]# ssh localhosts 'printf "`uname -n` `uptime| awk -F " " {'print $3,$4'}`\n"'
awk: cmd. line:1: {print
awk: cmd. line:1: ^ unexpected newline or end of string
リモートホストから同様の出力を得るために他のホストでコマンドを実行するより良い方法を知っていますか?
答え1
ssh localhosts 'printf "`uname -n` `uptime| awk -F " " {'\''print $3,$4'\''}`\n"'
問題は、一重引用符が入れ子になっていることです。これはうまくいきません。