프로그램에서 여러 명령을 입력으로 보내는 방법은 무엇입니까?

프로그램에서 여러 명령을 입력으로 보내는 방법은 무엇입니까?

나는 다음과 같은 프로그램에서 명령을 입력으로 보내는 방법을 알고 있습니다.

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

관련 정보