파이프라인으로 입력받는 쉘프로그램?

garam111의 이미지

파이프라인으로 입력받아서 출력하는 쉘을 만들려고 합니다. (pipe_test.sh)
그러니까 $ echo "aaa" | ./pipe_test.sh 와 같이 실행하는 쉘 프로그램을 만드는 것인데요.
bash 쉘이구요.. aaa를 받아서 bbb로 변환해서 출력을 해주려고 합니다.
$ ./pipe_test.sh kkk 에서 kkk는 $1로 받아서 처리를 하잖아요.
그런데 파이프라인으로 넘어오는 값은 어떻게 처리를 해야되는 건가요?
따로 내부 변수에 저장이 되는 것인가요?

일단 꼼수로 아래와 같이 사용은 하고 있는데요..(어찌어찌 하다보니 되더라구요 ㅋㅋ)
#!/bin/bash
sed 's/.*/&/g' > /tmp/a.txt

for LINE in $(cat /tmp/a.txt)
do
echo $LINE | sed 's/a/b/g'
done

gamdora의 이미지

그냥 표준 입력을 쓰시면 됩니다.

echo "aaa" | ./pipe_test.sh 와 같이 하면

"aaa"가 pipe_test.sh의 표준 입력으로 들어가지요.

read를 쓰시면 되겠네요.

swiri15의 이미지

표준입출력을 대체합니다