읽기 위해 콘텐츠를 bash에 자동으로 넣습니다.

읽기 위해 콘텐츠를 bash에 자동으로 넣습니다.

안녕하세요. 질문에 답하는 것과 같이 무언가를 입력하는 데 사용했던 작은 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시간과 사용자 이름은 정적입니다.)

그런데 지금 작성 중인 스크립트는 이름이나 시간을 읽지 않습니다.

관련 정보