shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多。但是有时候我们可能会需要实现和交互程序如ftp,telnet服务器等进行交互的功能,这时候我们需要用到shell自动交互功能.最简单的例子就是创建用户,我创建100个用户,初始密码为123,那么要是挨着
 背景:在远程文件下载时,需要输入对方的服务器密码shell不支持交互输入内容,可以用下面两种方式实现 一.在shell脚本中嵌入expect来实现密码输入expect是一个自动交互功能的工具。expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send)1.安装expect 需要先安装t
  最近刚学会的scp自动输入密码。    #!/bin/bashset -xTIME=`date +%Y%m%d%H%M%S`SOURCE='/home/cqq/project'PASSWD='123'tar zcvf  ${TIME}.tar.gz  $SOURCE >>/dev/null  2>&1expe
原创 2015-08-18 11:49:09
8968阅读
Shell 脚本自动输入密码的三种方式 注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限。方式一使用 echo “密码” | (管道符)使用场景: sudo 命令在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用echo "密码" | sudo 命令比如我需要一键清空服务器,
平时在控制台输入指令如:sudo、ssh、ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密码呢?下面总结三种实现方法:一、重定向:用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入输入密码shell用重定向作为标准输入的用法是:cmd<<delimiter ,
这篇文章主要介绍了Shell脚本实现自动输入密码登录服务器,本文使用expect来实现这个需求,讲解了expect的安装及使用脚本,需要的朋友可以参考下 使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp、ssh连接远程主机等等,如下图:那么问题来了,在脚本自动化执行的时候需要
转载 6月前
205阅读
前言:   ssh命令, 没有指定密码的参数. 以至于在脚本中使用ssh命令的时候, 必须手动输入密码, 才能继续执行. 这样使得脚本自动化执行变得很差, 尤其当ssh对应的机器数很多的时候, 会令人抓狂.本文讲解了两种方式, 一种借助expect脚本, 一种借助sshpass来实现.*) 借助expect脚本来实现1. expect不是系统自带的工具, 需要安装yum install expe
 为啥要加密shell脚本以我个人的需求为例,我要做一个自动远程登录的脚本,每次手动输密码太慢,而且输的多了密码也容易泄露;直接把密码写在脚本里,快确实是快,但是安全性让人无法忍受,写脚本的时候都有可能被过路的不小心看到密码,这就太蛋疼了。 最终解法就是,把密码写在脚本里,作为参数传给下一个脚本让其用来登录,而保存密码脚本,使用某种手段加密,令其不可读但是可执行。 加密方法介绍和实战经
shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多。但是有时候我们可能会需要实现和交互程序如ftp,telnet服务器等进行交互的功能,这时候我们需要用到shell自动交互功能.最简单的例子就是创建用户,我创建100个用户,初始密码为123,那么要是挨着
这里我们主要讲使用expect实现自动输入功能:安装:CentOS下安装命令,如下:yum install  expect开始之前的一个简单实例:#!/usr/bin/expect spawn ssh root@1.1.1.1 expect "*password:" send "123\r" expect "*#" interactExpect是一个用来处理交互的命令。我们可以使用exp
bash shell 提供了一些不同的方法从用户处获取数据,这些方法包括命令行参数、命令行选项和直接读取键盘输入。 命令行参数bash shell 将在命令行中输入的所有参数赋值给一些特殊变量,称为位置参数,通过标准数据表示,其中$0为程序名称,$1为第一个参数,$2为第二个参数,依此类推,直到$9为第九个参数。在第九个变量之后,必须使用大括号将变量括起来,如${10}。示例#!/bin
       shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多。  但是有时候我们可能会需要实现和交互程序如ftp,telnet服务器等进行交互的功能,这时候我们需要用到shell自动交互功能
转载 6月前
0阅读
# 如何在shell脚本输入MySQL密码 在编写shell脚本时,经常会需要与数据库进行交互,其中包括连接到MySQL数据库。在连接到MySQL数据库时,我们需要输入用户名和密码。但是,将明文密码硬编码到脚本中是不安全的做法。因此,我们需要找到一种更安全的方法来输入MySQL密码。 ## 使用MySQL配置文件 MySQL提供了一个配置文件`~/.my.cnf`,可以在其中保存MySQL
原创 2月前
24阅读
数据的展示理解输入与输出标准文件描述符STDIN(标准输入)STDOUT(标准输出)STDERR(标准错误)重定向错误只重定向错误重定向错误和数据在shell脚本中重定向输出临时重定向永久重定向在shell脚本中重定向输入创建自己的重定向创建输出文件描述符重定向文件描述符创建输入文件描述符创建读写文件描述符关闭文件描述符列出打开的文件描述符阻止命令输出创建临时文件创建本地临时文件在/tmp 目录
1.在生成环境中经常要修改服务器的密码,以保证安全,可以用shell编写脚本。用ssh直接修改对方服务器的密码可以用ssh 用户名@登录IP 后跟命令就可以实现,但是需要管理员输入密码后才能操作,为了不让管理员手动进行输入所以用expect解决此方案,由于expect是单独的命令在/bin/bash是无法使用的,所以必须要嵌套使用,<<代表以什么结尾,EOF代表以EOF结尾,spawn
方法一     自动交互最关键的就是交互信息的自动输入,首先联想到文件重定向,在shell编程中有这样一种用法(参考LINUX与UNIX SHELL编程指南 chapt 5.7):"command << delimiter  从标准输入中读入,直至遇到delimiter分界符。"    &nbsp
Linux Shell是一种非常强大的工具,它可以让用户通过命令行界面来与操作系统进行交互。在Linux系统中,有时候我们需要在Shell脚本中进行一些需要输入密码的操作。但是,如果每次都需要手动输入密码,会显得很繁琐。那么有没有一种方法可以实现在Shell脚本自动输入密码呢?答案是肯定的,下面我们来介绍一下如何在Linux Shell中实现自动输入密码的方法。 在Linux Shell中,可
shell如何自动输入密码
转载 2013-09-13 11:37:00
3774阅读
2评论
# Shell脚本与MySQL自动输入密码 在实际工作中,我们经常需要使用Shell脚本自动执行一些任务,比如定时备份数据库、数据同步等。而在这些任务中,有时候需要连接到MySQL数据库执行一些操作,但是又不希望明文在脚本中写入密码。那么如何在Shell脚本中实现自动输入MySQL密码呢? ## 使用Expect工具 Expect是一个自动化交互工具,可以模拟人类用户的键盘输入和输出。我们
原创 9天前
11阅读
  • 1
  • 2
  • 3
  • 4
  • 5