java expect_Java调用expect、shell脚本时,明文密码处理与Expect使用举例

  • Post author:
  • Post category:java


Expect概述

Expect是一个用来实现自动交互功能的软件套件 (Expect [is a] software suite for automating interactive tools)

Expect使用

Expect通过匹配关键字自动推送参数到脚本中,将人机交互操作转化为自动执行。

1.基本例子(设置文件权限)

#!/usr/bin/expect -f

set timeout 10

set dbf_dir [lindex $argv 0]

set passwd [lindex $argv 1]

spawn su – oracle

expect “*Password*”

send “$passwd\r”

expect “>”

send “chmod 750 $dbf_dir/tbs_test_*.dbf\r”

expect “>”

send “exit\r”

expect eof

2.明文密码处理(敏感参数通过流的方式传递到脚本中,ps -ef获取到的进程信息中便不会显示敏感信息)

expect脚本获取敏感参数

expect_user -re “(.*)\n”

set oracle_passwd $expect_out(1,string)

shell脚本获取敏感参数

INPUT_PWD=””

read -p “Enter Password :” INPUT_PWD

expect举例

#!/usr/bin/expect -f

set timeo



版权声明:本文为weixin_31001069原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。