某些情况下,比如oracle,必须切换到指定用户才能重启oracle。
每次手动操作比较麻烦,可以写个脚本。
自动输入密码的功能,需要用到expect
先安装
yum install -y expect
编辑脚本
vi aa.sh
#!/usr/bin/expect
spawn su oracle -c "/opt/1.sh"
expect "password: "
send "123456\r"
interact
exit
备注:
1. 第一行是#!/usr/bin/expect,而不是#!/bin/bash,这个需要特别注意。
2. -c是指定切换用户之后,需要执行的命令。有多个命令,可以写在一个脚本里面。如果没有-c选项,那么切换用户之后,后续执行的命令是在当前用户执行的,而不是切换之后的用户。
3. 123456\r 表示oracle密码是123456
4. 脚本执行之后,出现输入密码,这个时候,千万不要输入密码,等待12秒之后,就会自动输入密码,并且执行-c指定的命令,保证shell有执行权限。
时间: 2024-10-10 21:58:24