跳到主要内容

linux自动执行指令

· 阅读需 2 分钟
zhangkun

liunx 如果想写一段自动执行的脚本,并且系统如果提示输入密码等一些信息时,可以将执行的脚本写到 1.sh 的文件中。

#!/bin/bash
set timeout 30
rm -rf <文件夹>
git clone git@127.0.0.1:/home/gitrepo/xxxx.git


这里过程中,需要输入密码,那么我们新建一个 1.exp 的文件

#!/usr/bin/expect

#若要运行shell脚本,写shell脚本的绝对路径
spawn bash /www/1.sh

#设置expect语句的超时时间。默认10s
set timeout 3

expect {
password: {send "密码\r"}
}

expect eof #与interact相反,执行完程序不进入人工交互

执行

expect 1.exp

就可以将 1.sh 脚本中的程序运行了。

如果想按时执行上述脚本,则用到 crontab -e 添加一行

10 10 * * * expect 1.exp >/dev/null 2>&1 &

就可以按时运行该程序了。