ssh를 통해 원격 서버에서 작동하지 않는 파이프 및 변수가 있는 grep(로컬에서 작동)

ssh를 통해 원격 서버에서 작동하지 않는 파이프 및 변수가 있는 grep(로컬에서 작동)

원격 시스템(비밀번호 없는 인증 활성화)에서 ssh를 통해 아래 grep 명령을 실행하면 예상한 결과(일치하는 줄 번호)가 제공되지 않습니다. 변수도 올바르게 정의되었습니다.

서버 1에서:

ssh user@server2 grep -n -i $J2C_ID1 $CUST_NODE_PATH1/resources.xml | awk '{print $1}' | tr -d ':'

위 명령은 빈 출력을 반환합니다.

서버 2(로컬로 실행)에서 예상되는 출력을 반환합니다. 이는 줄 번호입니다.

grep -n -i $J2C_ID1 $CUST_NODE_PATH1/resources.xml | awk '{print $1}' | tr -d ':' 

474

(예상되는 출력은 지정된 파일 resources.xml의 $J2C_ID에 지정된 문자열과 일치하는 행 번호입니다.)

전체 줄이 아닌 줄 번호만 원하지만 전체 줄을 출력으로 제공하는 명령을 수정해 보았습니다.

ssh user@server2 grep -n -i "'$J2C_ID1' '$CUST_NODE_PATH1/resources.xml' | awk '{print $1}' | tr -d ':'"

474        <resourceProperties xmiid="J2EEResourceProperty" name="Password" type="java.lang.String" value="null" description="password" required="false" ignore="false" confidential="false" supportsDynamicUpdates="false"/>

추가 텍스트를 제거하고 줄 번호를 o/p로 처리해야 합니다.

명령이 성공적으로 실행되도록 수정하고 IF run as ssh 문자열과 일치하는 줄 번호를 다른 서버에서 반환하도록 도와주실 수 있나요? 빠른 도움에 감사드립니다.

감사해요

관련 정보