!/usr/bin/기대

!/usr/bin/기대

다음 명령을 수동으로 실행하면 정상적으로 작동합니다.

/jrr/bin/java -Xms14M -Xm14M -Dhttps.protocols=Tv1.2 -Dk.ts.client.protocols=TLSv.2 -jar /gq1/ust/classes/S.jar $(< /pass.txt)

그러나 쉘이 실패하고 "(< /pass.txt)"를 읽을 수 없습니다. 해당 변수가 없습니다.

!/usr/bin/기대

SSH 생성[이메일 보호됨]"/jrr/bin/java -Xms14M -Xm14M -Dhttps.protocols=Tv1.2 -Dk.ts.client.protocols=TLSv.2 -jar /gq1/ust/classes/S.jar $(< /pass.txt );cd /gucq1/gcust;mail -s '안녕하세요'[이메일 보호됨]<logs.txt"는 "password"가 "N0\r" 상호 작용을 보낼 것으로 예상하고 eof를 예상합니다.

답변1

노력하다

command $(< abc.txt)

어디

  • $(< )구문은 파일을 읽고 줄 끝을 제거하고 명령줄에서 바꿉니다.

자세한 내용은 Bash 매뉴얼 장을 참조하세요.명령 대체:

Bash는 다음을 실행하여 확장을 수행합니다.주문하다명령 대체를 명령의 표준 출력으로 바꾸고 후행 줄 바꿈을 제거합니다. 포함된 개행 문자는 제거되지 않지만 단어 분리 중에 제거될 수 있습니다. 명령 대체를 사용하면 명령을 동일하지만 더 빠른 명령으로 바꿀 수 있습니다.$(cat file)$(< file)

관련 정보