linux自动执行脚本和收集原本打印的结果?

一个很初级的问题...
我对shell script不是很熟悉。正在使用一个别人编写的sh脚本。

bash xx.sh之后
用read 显示有文字,提示输入参数。(可能不止一层输入)
结果会用printf返回
比如

输入bash xx.sh 
输入回车
打印一行字要求输入数字  
输入2 
输入回车 
打印一行字要求输入数字
输入3 
输入回车 
打印结果

我现在希望能够定期自动地执行(参数固定的),之后把它原本printf的结果写入一个txt。

cron定期执行shell script我是会,
但是不知道怎么在脚本里调用这种脚本(传入参数和收集结果)
我只知道那种命令行接收参数的...

除了直接改这个ssh文件(把read和printf 改为从命令行接受参数、结果写入txt),有其他的办法吗?

编写一个新脚本:调用这个sh文件、传入参数、收集原本printf——这样可以实现吗?如何实现呢?

谢谢!

sh xx.sh >>result.txt << EOF
2
3
EOF
其中EOF跟EOF之间每行都要回车,2、3为你要输入的固定的内容。

bash xx.sh < para.txt
在para.txt中将需要输入的命令行参数都按行给出来就行了吧。

接楼上说法:
crontab

  • * * * * /bin/bash xx.sh >result.txt
    定时 脚本 参数 结果

在新的shell脚本中写
echo $1 $2
##调用这个sh文件、传入参数、收集原本printf(print是运行结果,直接用重定向命令就可)
sh xx.sh $1 $2 >result.txt

搜一下《Advanced Bash-Scripting Guide》里的“Here Documents”,应该好理解的。再搞一个脚本封装一下就好了

调用脚本,传入参数并收集结果:echo -e "2\n3" | bash xx.sh >> result.txt
定期执行:watch -n 2 "echo -e "2\n3" | bash xx.sh >> result.txt" (-n 2代表每两秒执行一次)