
sshの標準出力が何であるかを知りたい場合は、次のようにします。
ssh $linux_server "cat /proc/uptime"
[[ $? -eq 0 ]] && ssh is ok
しかし、次のような場合、ssh の標準出力をどのように知ることができますか?
UPTIME=` ssh $linux_server "cat /proc/uptime" `
答え1
ほとんどのシェルでこれを行う標準的な方法 (したがって最も移植性が高い方法) は、バッククォート (`) を使用することです。ssh に必要な引数は引用符で囲む必要はありませんが、結果はおそらく次のように記述することになります。
UPTIME="`ssh $linux_server cat /proc/uptime`"
または、次のように $() を使用して、bash (および他のいくつかのシェル、ただしバッククォートほど汎用的ではありません) に特化することもできます。
UPTIME="$(ssh $linux_server cat /proc/uptime$)"
バッククォートはコマンドを区切るために同じものを使用するため、ネストできないことに注意してください。これは bash 構造の利点の 1 つです。また、実行を少し効率化するためにサブシェルをフォークする必要もありません。
詳細については、bash のマニュアル ページを参照してください。