
當我們想知道 ssh 的標準輸出是什麼時,我們就這樣做
ssh $linux_server "cat /proc/uptime"
[[ $? -eq 0 ]] && ssh is ok
但是在以下情況下如何知道 ssh 標準輸出?
UPTIME=` ssh $linux_server "cat /proc/uptime" `
答案1
對於大多數 shell(因此也是最可移植的)執行此操作的標準方法是使用反引號 (`),並且由於您必須 ssh 的 arg 不需要引號,但結果可能是您會寫:
UPTIME="`ssh $linux_server cat /proc/uptime`"
或者您可以透過使用 $() 來特定於 bash (以及其他一些 shell,但不像反引號那麼通用):
UPTIME="$(ssh $linux_server cat /proc/uptime$)"
請注意,由於反引號使用相同的東西來分隔命令,因此它們不能嵌套。這是 bash 結構的優點之一。它也不需要分叉子 shell 來稍微提高執行效率。
閱讀 bash 手冊頁以獲取更多詳細資訊。