CentOS 程序设置开机启动脚本并自动输入账号密码

开机启动输入账号密码

问题场景:

open3 程序连接服务器时需要输入账号密码进行验证,无人值守的情况下shell脚本不能自动输入账号密码。

解决思路:

将启动命令写到shell脚本里面,指定配置文件。
用expect脚本将启动脚本自动化,自动输入账号密码
在开机启动项加上expect脚本。

步骤:

[root@_client script]# ll
total 24
-rw-r--r--. 1 root root 12314 May  8  2021 open.o
-rwxr-xr-x. 1 root root    69 May 17  2021 sc01.sh
-rwxr-xr-x. 1 root root   168 May  8  2021 start-open.sh
[root@_client script]# cat start-open.sh 
#!/bin/expect
spawn /opt/script/sc01.sh
expect "Auth User name:"    
send "******\n"                  
expect "Auth Password:"
send "******\n"
#interact 
expect eof
[root@_client script]# cat sc01.sh 
#!/bin/bash
open3 session-start --config /opt/script/open.o
[root@_client script]# cat /etc/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
/opt/script/start-open.sh

你可能感兴趣的:(shell,centos)