안녕하세요. 질문에 답하는 것과 같이 무언가를 입력하는 데 사용했던 작은 bash 스크립트가 있습니다. 하지만 제가 하고 싶은 것은 bash 스크립트를 실행하는 것뿐입니다. 그러면 질문에 답하는 대신 자동으로 답이 입력됩니다.
echo "
Please type in your name "
echo $name > /root/details/name.info
echo "
Your name is $name ! "
echo "
What is your age "
read age
echo $age > /root/details/age.info
echo "
This server will carry out a complete maintenance routine daily
Enter the time at which this routine should happen :
Example : Eleven o'clock is 23 , midnight is 00 , three in the morning is 03 ...
Based on the example , enter the time of maintenance with a decimal number 00-23
Please note: ( 00/23 )"
echo $HorMan>
echo "
Please enter your username e.g. admin"
read username
echo $username > /root/details/username.info
위 코드에서 이름과 나이는 스크립트 실행마다 다르지만 서버 유지 관리 및 사용자 이름은 스크립트 실행마다 동일합니다.
답변1
질문에 대한 답을 올바른 순서로 한 줄에 하나씩 배치하십시오.
그런 다음 스크립트를 실행하십시오.
$ ./script.sh <answers.txt
편집하다: 질문을 업데이트한 후입니다.
스크립트에 대한 입력 중 일부가 정적인 경우 스크립트에서 입력을 전혀 읽지 않거나(정적 데이터로 대체) 두 번째 스크립트를 사용하여 값을 채웁니다.
$ ./answerscript.sh <answers.txt | ./script.sh
다음을 수행 answers.txt
하면서 이름과 나이의 행을 번갈아 포함합니다 .answerscript.sh
#!/bin/sh
IFS=
while read name; do
echo $name
read age
echo $age
echo 23
echo enoch
done
( 23
그리고 enoch
시간과 사용자 이름은 정적입니다.)
그런데 지금 작성 중인 스크립트는 이름이나 시간을 읽지 않습니다.