免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 12215 | 回复: 6
打印 上一主题 下一主题

怎么样才能在shell脚本里面执行su ? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-26 14:42 |只看该作者 |倒序浏览
刚接触shell脚本,想在脚本里面执行su命令,怎么才能实现?

因为在用su的时候,存在要求输入密码..怎么才能和它交互?

论坛徽章:
0
2 [报告]
发表于 2007-03-26 17:32 |只看该作者

回复 1楼 Givemefive 的帖子


  1. echo 'passwd'| sudo -S command

复制代码

[ 本帖最后由 njmarshal 于 2007-3-26 17:34 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-03-26 17:40 |只看该作者
楼上能否说得再具体一点?

论坛徽章:
0
4 [报告]
发表于 2009-04-24 09:13 |只看该作者
BASH 中提供另外一种称为 here documents 的结构,可以将用户需要通过键盘输入的字符串改为从程序体中直接读入,如密码
例如:
#!/bin/bash

passwd="aka@tsinghua"
ftp -n localhost <<FTPFTP
user anonymous $passwd
binary
bye
FTPFTP

exit 0

这个程序在用户需要通过键盘敲入一些字符时,通过程序内部的动作来模拟键盘输入。请注意 here documents 的基本结构为:

command <<SOMESPECIALSTRING
statments
...
SOMESPECIALSTRING

这里要求在需要键盘输入的命令后,直接加上 <<符号,然后跟上一个特别的字符串,在该串后按顺序输入本来应该由键盘输入的所有字符,在所有需要输入的字符都结束后,重复一遍前面 <<符号后的“特别的字符串”即表示该输入到此结束。

论坛徽章:
0
5 [报告]
发表于 2009-04-24 09:29 |只看该作者
楼主是想不交互吧?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
6 [报告]
发表于 2009-04-24 09:46 |只看该作者

论坛徽章:
0
7 [报告]
发表于 2009-04-24 11:12 |只看该作者
四楼说的很清楚,学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP