今天在编制自动化安装jdk包时,jdk需要输入回车继续的交互操作,linux下实现shell交互式操作可以通过expect脚本实现,这里也介绍了两种不用expect的实现方法。

在运行./jdk-6u22-linux-i586.bin时,安装到后面有提示“Press Enter to continu....”,只有按回车键方可成功安装,可以通过以下方法实现自动化:

1  ./jdk-6u22-linux-i586.bin < /dev/null

2  echo -e "\n" | ./jdk-6u22-linux-i586.bin

3 用expect脚本的实现方法:

vim install.sh

#!/usr/bin/expect
spawn sh
expect "*"
send "./jdk-6u22-linux-i586.bin\n"
expect "Press Enter to continue....."
send "\n"
expect eof
exit