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