SSH를 통해 명령 정보 및 파일 입력을 얻어야 함

SSH를 통해 명령 정보 및 파일 입력을 얻어야 함

저는 inf while 및 for 루프를 사용하여 원격 컴퓨터에서 명령 정보를 가져오는 스크립트를 작성하고 있습니다. PFB 스크립트. 그러나 스크립트는 단일 명령 메시지를 제공함으로써만 종료됩니다. 이 파일에는 여러 명령이 있습니다 (CMDS=$HOMEDIR/cmnd.txt). ssh를 사용하지 않으면 모든 명령이 잘 작동하지만 ssh를 사용하면 첫 번째 명령만 실행됩니다.

#!/bin/bash
HOMEDIR=/home/448130
CMDS=$HOMEDIR/cmnd.txt
while read -r line
do
  for i in $(cat hostname.txt);
  do
    echo "*****************************  $line output begins  ********************************";
    #echo $line
    ssh $i $line
    echo "*****************************  $line output ends  ********************************";
  done
done < $CMDS

이 문제를 해결하도록 도와주세요.

답변1

을 실행하면 ssh표준 입력이 원격 명령에 전달됩니다. 원격 명령은 실제로 아무 작업도 수행하지 않지만 로컬 ssh프로세스는 알 방법이 없습니다. 이를 방지하려면 원격 명령에 입력을 전달하고 싶지 않으므로 입력 ssh/dev/null.

잊지 마요큰따옴표 변수 대체.

IFS=는 -r 라인을 읽는 동안
하다
  $(cat 호스트 이름.txt)의 경우;
  하다
    echo "****************************$ 라인 출력 시작****************** * ****************”;
    #echo$line
    SSH "$i" "$line"</dev/빈
    echo "**************************** $줄 끝 출력******************** *****************";
  완벽한
완료<"$CMDS"

관련 정보