別のホストでコマンドを実行したときに構文エラーが発生しました。

別のホストでコマンドを実行したときに構文エラーが発生しました。

以下のようにサーバーの稼働時間を取得するためにコマンドを実行します。

[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"'

問題は、一重引用符が入れ子になっていることです。これはうまくいきません。

おすすめ記事