[완료] shell과 perl에서 ssh 출력을 변수로 저장하는 방법?

wooix의 이미지

질문을 크게 2가지로 나누어서 하겠습니다.

첫째는 shell 에서 ssh를 이용한 출력을 특정 변수로 집어 넣는 것입니다.

#!/usr/bin/ksh
temp=`ssh account@server "ls -la"`
echo $temp

위와 같이 테스하게 되면 echo $temp에서 줄넘김 표시가 다 없어져서 표현이 되는데
값이 깨지지 않고 정상적 출력되도록 할 수 있는건지? 궁금하고요.

두번재는 perl에서 위와 같은 명령어를 직접 처리 할때 결과를 변수에 담을 수 있는가 입니다.

$command = "ssh account@server \"ls -la\"";
system($command) > $result ; #실은 redirect안됨.. 

실제 원하는 것은 $command에 저장된 내용을 실행하여 출력을 특정 변수에 집어 넣는 것입니다.

aero의 이미지

unix shell

#!/bin/sh
temp=`ssh account@server "ls -la"`
echo "$temp"

perl

#!/usr/bin/perl
$command='ssh account@server "ls -la"';
$output = `$command`;
print $output;
wooix의 이미지

고맙습니다~ ^^

평온하다~