나는 다음과 같은 프로그램에서 명령을 입력으로 보내는 방법을 알고 있습니다.
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