ssh의 표준 출력이 무엇인지 알고 싶을 때 다음을 수행합니다.
ssh $linux_server "cat /proc/uptime"
[[ $? -eq 0 ]] && ssh is ok
그러나 다음 경우에 ssh 표준 출력을 어떻게 알 수 있습니까?
UPTIME=` ssh $linux_server "cat /proc/uptime" `
답변1
대부분의 셸(따라서 가장 이식성이 높은)에서 이 작업을 수행하는 표준 방법은 백틱(`)을 사용하는 것이며 ssh를 수행해야 arg에 따옴표가 필요하지 않지만 결과적으로 다음과 같이 작성할 수 있습니다.
UPTIME="`ssh $linux_server cat /proc/uptime`"
또는 $()를 사용하여 bash(및 백틱만큼 보편적이지는 않지만 다른 쉘)에만 특정하게 만들 수 있습니다.
UPTIME="$(ssh $linux_server cat /proc/uptime$)"
백틱은 동일한 것을 사용하여 명령을 구분하므로 중첩될 수 없습니다. 이것이 bash 구조의 장점 중 하나입니다. 또한 실행 효율성을 약간 향상시키기 위해 서브셸을 분기할 필요가 없습니다.
자세한 내용은 bash 매뉴얼 페이지를 읽어보세요.