![自动将内容放入 bash 中读取](https://linux22.com/image/90212/%E8%87%AA%E5%8A%A8%E5%B0%86%E5%86%85%E5%AE%B9%E6%94%BE%E5%85%A5%20bash%20%E4%B8%AD%E8%AF%BB%E5%8F%96.png)
嗨,我有一个小 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
是静态的时间和用户名)。
顺便说一句,您现在编写的脚本不会读取名称或时间。