Linux/Mac下 执行某脚本 自动输入密码
2017-03-18 14:30
645 查看
前提条件: 安装了expect (mac: brew install expect)
当我们在终端启动mysql服务,或者其他一些服务的时候, 如果权限不够, 需要赋予root权限, 如果频繁启动和关闭,都需要输入密码, 让人感觉很烦
建立一个自动启动服务的脚本,该脚本能实现:
无论脚本在哪里执行, 都能进入脚本所在路径进行执行, 并且返回当前路径
如果需要输入root密码, 自动输入
直接上脚本startMysql:
另附:
mac下启动mysql服务的地方:
1.在设置里面可以直接启动mysql服务
2.脚本启动的地方在mysql安装目录下的 support-files里面的mysql.server脚本
例如:/usr/local/mysql-5.7.17-macos10.12-x86_64/support-files
启动: ./mysql.server start
关闭: ./mysql.server stop
当我们在终端启动mysql服务,或者其他一些服务的时候, 如果权限不够, 需要赋予root权限, 如果频繁启动和关闭,都需要输入密码, 让人感觉很烦
建立一个自动启动服务的脚本,该脚本能实现:
无论脚本在哪里执行, 都能进入脚本所在路径进行执行, 并且返回当前路径
如果需要输入root密码, 自动输入
直接上脚本startMysql:
#!/usr/bin/expect #设置密码的值 set password "295002hzx" #expect方式: 进入脚本所在的路径 cd [file dirname $argv0] #shell方式: 进入脚本所在的路径 #$currentpath=$(cd "$(dirname "$0")";pwd) #cd $currentpath #执行脚本 如果没有上一步,这里脚本需要加绝对路径才能正常执行 spawn sudo ./mysql.server start #expect对通过spawn执行的shell脚本的返回进行判断,是否包含Password字符串 expect "Password" #如果expect监测到了包含的字符串,将输入send中的内容,\n相当于回车 send "$password\n" #退出expect返回终端,可以继续输入,否则将一直在expect不能退出到终端 interact
另附:
mac下启动mysql服务的地方:
1.在设置里面可以直接启动mysql服务
2.脚本启动的地方在mysql安装目录下的 support-files里面的mysql.server脚本
例如:/usr/local/mysql-5.7.17-macos10.12-x86_64/support-files
启动: ./mysql.server start
关闭: ./mysql.server stop
相关文章推荐
- Linux下执行命令时利用脚本自动输入密码
- linux、mac上用expect脚本实现脚本自动输入密码
- linux 普通用户登录后,执行 shell脚本切自动输入密码切换到root
- 在 Linux 命令行脚本中执行 sudo 时自动输入密码
- linux、mac上用expect脚本实现脚本自动输入密码
- 在 Linux 命令行脚本中执行 sudo 等命令时自动输入密码(使用expect)
- 如何在bash脚本中执行sudo时自动输入用户密码
- linux脚本实现自动输入密码
- Linux-----Shell脚本交互实现自动输入密码
- 如何在脚本中执行scp时自动输入密码
- 使用expect脚本实现Linux中自动输入密码
- Linux中shell脚本自动输入密码
- linux脚本实现scp命令自动输入密码和yes/no等确认信息
- 以一个例子来讲ubuntu12.04下脚本文件内执行sudo 命令自动输入密码
- UBUNTU 12.04 64位脚本 自动输入密码 | 脚本执行 sudo 自动输入password
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
- linux脚本实现自动输入密码
- Linux脚本自动输入密码
- 【Linux学习笔记】Linux主机如何实现无需输入密码的远程登录或脚本远程执行
- Linux自动输入密码脚本