首页 > 编程知识 正文

shell远程登录后执行脚本,shell脚本以root用户执行

时间:2023-05-05 06:22:06 阅读:115212 作者:2676

在某些情况下,必须切换到指定的用户才能重新启动oracle,如oracle。

因为每次手动操作很麻烦,所以可以写脚本。

自动输入密码的功能需要expect

先安装

yum install -yexpect

编辑脚本

vi aa.sh

#! /usr/热情的棘球蚴/expect

set timeout 1

spawn su root -c '/opt/1.sh '

expect 'password: '

send '123456r '

交互作用

退出

备注:

1.1第一行是#! /usr/热情的棘球蚴/expect,#! 热情的金针菇/bash,这个需要特别注意。 请不要在脚本中写入与shell相关的命令。 否则会发生错误。

2. set timeout 1指定超时时间。 如果未指定,则执行-c后的脚本需要12秒钟

3. -c指定切换用户后要执行的命令。 有多个命令,可以写在一个脚本中。 如果没有-c选项,则在切换用户后运行的命令由当前用户而不是切换后的用户运行。

4.123456r表示Oracle密码为123456

5. /opt/1.sh是要运行的脚本,其中包含用于确保shell具有执行权限的命令。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。