ubuntu运行sh脚本sudo自动输入密码

示例:

sudo apt-get update

第一种方法:使用管道(上一个命令的 stdout 接到下一个命令的 stdin):

#!/bin/bash
echo password | sudo -S apt-get update第二种方法
使用文本块输入重定向:

第二种方法:
#!/bin/bash
sudo -S apt-get update << EOF 
你的密码
EOF

说明:

在shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell,即将‘你的密码’当做命令的输入

-S参数的作用

使用man命令查询sudo,对参数-S的说明如下:

————————————————
版权声明:本文为CSDN博主「香雨亭榭」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hpu11/article/details/71525066

原文地址:https://www.cnblogs.com/wal1317-59/p/12693286.html

时间: 2024-10-12 06:46:36

ubuntu运行sh脚本sudo自动输入密码的相关文章

linux脚本实现自动输入密码

使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp.ssh连接远程主机等等,如下图 那么问题来了,在脚本自动化执行的时候需要输入密码怎么办?比如你的脚本里有一条scp语句,总不能在脚本执行到这一句时手动输入密码吧 针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是ft

ubuntu --- 运行.sh文件、编写.sh文件

一.运行.sh文件 (1)使用sh testsh执行 (2)使用bash testsh 执行 (3)使用点 执行 (4)使用source执行 ./sh 文件开头***的含义:#!/bin/sh 以下的代码由/bin/sh 来解释#!/bin/bash 以bash shell来解释#!/bin/csh 以csh shell来解释#!/usr/bin/env python 以下代码由python来解释 #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell (1)使

shell脚本中自动输入密码

最近刚学会的scp自动输入密码. #!/bin/bash set -x TIME=`date +%Y%m%d%H%M%S` SOURCE='/home/cqq/project' PASSWD='123' tar zcvf  ${TIME}.tar.gz  $SOURCE >>/dev/null  2>&1 expect -c " spawn scp -r  [email protected]:/home/cqq/project/src/  /home/test/ exp

linux 如何开机自动运行sh脚本

vi /etc/rc.d/rc.local #自动启动oracleecho 502 >/proc/sys/vm/hugetlb_shm_group su - oracle -c 'sh /data/oradata/oracle/startdb.sh' source /etc/rc.d/rc.local startdb.sh #!/bin/sh sqlplus /nolog <<EOF connect / as sysdba; startup; EOF lsnrctl start shut

shell脚本通过expect脚本实现自动输入密码(使用expect)

背景:在远程文件下载时,需要输入对方的服务器密码,shell不支持交互输入内容,可以用下面两种方式实现 一.在shell脚本中嵌入expect来实现密码输入 expect是一个自动交互功能的工具.expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send) 1.安装expect 需要先安装tcl:apt-get install tcl apt-get install expect 2.expect使用 2.1一个简单

添加自动远程连接的脚本,自动输入密码,节省时间。

参考了 http://blog.csdn.net/topasstem8/article/details/17920127  和 http://blog.sina.com.cn/s/blog_560e31000101ajgw.html  的内容 #!/usr/bin/expectspawn ssh -l snq 192.168.100.137expect "password:"send "12345678\r"#expect eof#exitinteract 主要使用

【转】Shell脚本交互之:自动输入密码

平时在控制台输入指令如:sudo.ssh.ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密码呢? 下面总结三种实现方法: 一.重定向:用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入来输入密码 shell用重定向作为标准输入的用法是:cmd<<delimiter ,shell 会将分界符delimiter之后直到下一个同样的分界符之前的内容作为输入 实现ftp自动登录

Shell脚本交互之:自动输入密码

Shell脚本交互之:自动输入密码 2016年04月09日 19:41:26 zhangjikuan 阅读数:58208 标签: Shell交互自动输入密码expect重定向管道 更多 个人分类: ARM/linux 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhangjikuan/article/details/51105166 平时在控制台输入指令如:sudo.ssh.ftp或者修改admin权限的文件时候都会要求输入password,

expect实现脚本的 自动交互

1.需求 最近需要使用scp自动将本地服务器的文件拷贝到远程服务器上; 2.安装expect #安装expect前,需要安装tcl环境 yum -y install tcl yum -y install expect 3.expect脚本 #!/usr/bin/expect set passwd "xxxx" set ip "192.168.x.xxx" set username "scpuser" #不论是在此脚本内自动输入密码还是在脚本外手工