脚本内调用交互程序传参的几种实现方式 Automatically answer to input prompt in windows batch
1 windows
echo param1>param.txt echo param2>>param.txt echo param3>>param.txt call interactive.cmd < param.txt pause
最简单的
(echo input1 && echo input2) | program.exe
测试脚本
@echo off echo -----------------------开始了---------------------- set /p a1=请输入a1 & echo. set /p a2=请输入a2 & echo. set /p a3=请输入a3 & echo. set /p a4=请输入a4 & echo. set /p a5=请输入a5 & echo. echo -----------------------结束了---------------------- echo a1=%a1% echo a2=%a2% echo a3=%a3% echo a4=%a4% echo a5=%a5% pause
2 linux
/usr/bin/printf 'param1 param2 ' | mytestapp
here document方式
cd /home/wolbo/env/tools/dbodeploy_java/ ./deploy.sh <<EOF /home/wolbo/env/nstack/apps 127.0.0.1 gscloud gscloud Test6530 EOF
参考文档
1 https://unix.stackexchange.com/questions/288765/using-a-bash-script-to-run-an-interactive-program
2 http://www.tldp.org/LDP/abs/html/here-docs.html
call与start区别
4 https://stackoverflow.com/questions/40610241/automatically-answer-to-input-prompt-in-windows-batch