本文共 517 字,大约阅读时间需要 1 分钟。
某些情况下,比如oracle,必须切换到指定用户才能重启oracle。
每次手动操作比较麻烦,可以写个脚本。
自动输入密码的功能,需要用到expect
先安装
yum install -y expect
编辑脚本
vi aa.sh
#!/usr/bin/expect
set timeout 1
spawn su root -c "/opt/1.sh"
expect "password: "
send "123456\r"
interact
exit
备注:
1. 第一行是#!/usr/bin/expect,而不是#!/bin/bash,这个需要特别注意。脚本里面不要写shell相关的命令否则执行报错。
2. set timeout 1指定超时时间,如果不指定,需要等到12秒,才会执行-c 后面的脚本
3. -c是指定切换用户之后,需要执行的命令。有多个命令,可以写在一个脚本里面。如果没有-c选项,那么切换用户之后,后续执行的命令是在当前用户执行的,而不是切换之后的用户。
4. 123456\r 表示oracle密码是123456
5. /opt/1.sh 是需要执行的脚本,里面写好了相关命令,保证shell有执行权限。
转载地址:http://azgzs.baihongyu.com/