BASH는 |를 사용할 때 STDIN(파이프라인)에서 입력을 받습니다.

BASH는 |를 사용할 때 STDIN(파이프라인)에서 입력을 받습니다.

새로운 스크립트를 작성 중입니다. 이 스크립트의 유효성을 검사하는 방법을 구현하고 싶습니다. 그래서 저는 이 명령을 사용하여 파일의 내용을 확인합니다.

remote_file="$(curl -m2 -s "$1")"
checksum_remote="$(echo "$remote_file" | sha256sum | cut -d ' ' -f1)"
checksum_current="$(sha256sum < "$COMMAND_NAME" | cut -d ' ' -f1)"

그러나 추가 개발 후에 나는 스크립트를 명령과 함께 사용할 수 있다는 것을 깨달았습니다 curl -s $SCRIPT_URL | bash. 이 경우 내 검사는 [ "$checksum_remote" != "$checksum_current" ]항상 성공하지만 $COMMAND_NAME스크립트 bash내용은 성공하지 않습니다.

파이프라인을 사용하여 실행할 때 bash 스크립트 자체를 사용하여 전체 소스 코드를 검색하는 방법을 아는 사람이 있습니까?

관련 정보