![프로그램에서 여러 명령을 입력으로 보내는 방법은 무엇입니까?](https://linux55.com/image/128629/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C%20%EC%97%AC%EB%9F%AC%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%9E%85%EB%A0%A5%EC%9C%BC%EB%A1%9C%20%EB%B3%B4%EB%82%B4%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 다음과 같은 프로그램에서 명령을 입력으로 보내는 방법을 알고 있습니다.
echo toto | ./my_prog
그리고 프로세스 대체 + 리디렉션을 사용하세요.
r < <(echo toto)
하지만 두 번째 또는 세 번째 입력을 입력하려면 어떻게 해야 합니까?
예를 들어, 먼저 내 사용자 이름을 요청한 다음 다른 입력에서 전화번호나 기타 정보와 같은 기타 정보를 요청하는 프로그램이 있습니다.
답변1
나는 제안한다여기 문서
./my_proc << END_OF_INPUTS
username
phone number
whatever
END_OF_INPUTS
답변2
여러 프로그램의 출력을 사용 {
하고 수집합니다. }
예를 들어, { echo one; echo two; } |program
. {
앞뒤에 공백을 남겨두고 중괄호 }
안에 마지막 명령 뒤에 세미콜론이 있는지 확인하십시오.
답변3
printf와 파이프를 사용할 수도 있습니다
printf "%s\n" "username" "number phone" "whatever" | ./my_prog