표준 입력 앞에 텍스트 추가

표준 입력 앞에 텍스트 추가

script1표준 입력에서 실행되는 스크립트가 있습니다. 다음에서 스크립트를 호출할 수 있습니다.script2

#!/bin/sh

./script1

script1그런 다음 표준 입력으로 작업하십시오 script2. 다른 입력을 파이프할 수도 있습니다.script1

#!/bin/sh

echo "Called from script2" | ./script1

그러나 ./script1표준 입력은 전혀 사용되지 않습니다.

내가 원하는 것은 script1"Called from script2" 입력 앞에 표준 입력을 추가하는 것입니다. 가능합니까?

임시 파일을 사용하여 이 작업을 수행하는 방법을 알고 있지만 임시 파일을 사용하지 않고 방법이 있는지 궁금합니다.

답변1

#!/bin/sh

{
    echo 'some text'
    cat
} | ./script1

또는

#!/bin/sh

{ echo 'some text'; cat; } | ./script1

cat래퍼 스크립트의 표준 입력 을 script1.

{ ...; }위의 예에서는 이전 복합 명령(비트)의 결합된 출력을 스크립트에 파이프합니다 script1. 입력은 cat래퍼 스크립트의 표준 입력 스트림이며 출력을 생성한 후 cat출력 스트림에서 이를 재생산합니다.echo

관련 정보