发送期望值命令不应用该值

时间:2019-04-27 05:35:28

标签: bash expect

我编写了一个bash脚本来下载特定的Java二进制tar球,将其解压缩,然后配置Java版本 由于Java安装工具需要手动交互,因此我使用“期望”来“发送”命令的答案。 我将Java二进制文件放入“ / opt”

curl -o /opt/jdk-8u201.tar.gz https://hostname
tar -zxvf /opt/jdk-8u201.tar.gz -C /opt
#!/bin/bash

yum -y install expect
EXPECT=$(which expect)
JAVA_HOME=/opt/jdk-8u201
update-alternatives --install /usr/bin/java java ${JAVA_HOME%/}/bin/java 2000
${EXPECT} <<EOD
spawn update-alternatives --config java
expect "Enter to keep the current selection\[\+\], or type selection number:"
send 3
EOD

当我手动执行安装并输入: echo $JAVA_PATH 它打印信息。 如果我在Shell脚本中执行此操作,则它不会更新路径。

有没有我看不到的东西吗?谢谢

干杯, 罗兰

0 个答案:

没有答案