shell实现交互式输入变自动化输入,就是可编程

可以使用expect脚本

1,在shell脚本中调用expect脚本。

 

2,或者使用重定向(所谓重定向就是把标准输入重定向到标准输入)比如

sh run_hmj_with_java_pid.sh

源码为:

#!/bin/bash

echo "input array element split by space"
read -a control

echo "1:"
echo ${control[0]}

 

执行:

[root@test3 tmp]# sh run_hmj_with_java_pid.sh
input array element split by space
yes(这个yes是交互式输入的)
1:
yes

 

上面是交互式的,下面是自动化的:

[root@test3 tmp]# echo "yes" |sh run_hmj_with_java_pid.sh
input array element split by space
1:
yes

 

这里的核心是read这个命令,可以查手册深入了解

---------------------------------------------------------------------------------------------------------------------------------------

expect脚本:

 https://blog.csdn.net/anqixiang/article/details/110181689

expect脚本可以查手册深入学习

上一篇:Centos 7 64位 安装 Oracle 11g 详细过程总结


下一篇:shell 常用指令记录