나는 여기 문서를 알고 있습니다. 표준 입력으로 이동하십시오. here-doc가 표준 입력으로 가는 파이프에서 나오는 것보다 우선한다는 것을 알 수 있습니다(아래 참조).
하지만 작동하게 만드는 비결이 있을까요?
대체로 스크립트 파일 생성을 피하고 싶습니다. 나는 -c
Python에 스위치가 있다는 것을 알고 있지만 모든 것을 한 줄에 넣고 싶지 않습니다.
echo values | python3 <<SCRIPT
with open('/dev/stdin') as f:
print(f.read()) # -> "values"
SCRIPT
현재 출력은 스크립트 자체입니다.
with open('/dev/stdin') as f:
print(f.read()) # -> "values"
답변1
두 개의 표준 입력을 가질 수 없습니다. Python은 코드가 끝나는 위치와 내용이 시작되는 위치를 어떻게 알 수 있습니까?
이것은 다음을 사용하는 해결 방법입니다.프로세스 교체:
echo values | python3 <(cat <<SCRIPT
with open('/dev/stdin') as f:
print(f.read()) # -> "values"
SCRIPT
)