LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2091|回复: 15

父shell如何能取得子shell的执行权限

[复制链接]
发表于 2006-9-15 17:18:20 | 显示全部楼层 |阅读模式
如果我利用expect在子shell中得到了root的权限,如何能传递给父shell,谢谢
发表于 2006-9-16 00:08:57 | 显示全部楼层
需要用到root权限的命令在子shell中完成就行了,用传递给父shell吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-16 01:43:17 | 显示全部楼层
我不是很清楚,但是expect脚本里的第一行是#!/usr/bin/expect,那在这个脚本里能执行其他命令吗,比如mkdir,mount之类的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-16 01:49:38 | 显示全部楼层
yongjian兄,我在另一篇帖子里问的关于打印一段文字的问题,你给的答案是:
sed -n '/bbbBegin/,/bbbEnd/{/bbbBegin\|bbbEnd/!p}',现在我想把bbbBegin,bbbEnd都换成变量应该怎么做呢,我用双引号试了一下,它说!p}"无效,
但是sed -n "/$A/,/$B/"就没问题.
回复 支持 反对

使用道具 举报

发表于 2006-9-16 02:43:29 | 显示全部楼层
用 \! 试试。

至于你提出的要求,似乎不可能。无法反传递的吧。
回复 支持 反对

使用道具 举报

发表于 2006-9-16 12:06:10 | 显示全部楼层
Post by wawxdyy
我不是很清楚,但是expect脚本里的第一行是#!/usr/bin/expect,那在这个脚本里能执行其他命令吗,比如mkdir,mount之类的

完全可以调用spawn来执行,而且可以将他们写入script来调用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-18 03:33:31 | 显示全部楼层
Post by 终极幻想
用 \! 试试。

至于你提出的要求,似乎不可能。无法反传递的吧。


恩,这样就可以了,我是这样写的sed -n "/$a/,/$b/{/$a\|$b/"\!"p}" filename
可我有点晕,我试了一下,里面的双引号不加就不行,能解释一下吗,郁闷
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-18 03:37:23 | 显示全部楼层
Post by yongjian
完全可以调用spawn来执行,而且可以将他们写入script来调用。



其实这个问题我以前问过你啊,当时由于时间紧,就只好用gksu了,现在想好好把这个技术弄明白,能不能给个代码的简单例子,还有请问你以前应该也做过类似这样的任务吧(就是需要验证身份的脚本),能说一下原理吗,我怕自己想歪了,毕竟水平有限
回复 支持 反对

使用道具 举报

发表于 2006-9-18 06:45:53 | 显示全部楼层
我以前做的是自动远程更新密码,跟你的要求有类似但不完全一样。能否讲一下你的程序要做什么,要达到的效果是怎样的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-18 17:44:39 | 显示全部楼层
我现在做一个installer,自动安装linux软件的,比如LumaQQ,OpenOffice之类的,所以需要root权限,现在已经做好了,就是身份验证我用的是gksu,可是他输入密码的时候整个背景都暗下来了,而且截面是英文的;我在desktop文件里面设置成"exec="gksu -u root Installer""了,现在我想在Installer里面自己做身份验证.

PS:zenity的界面真的很简单,也可能是我用的不好,我看帮忙里面说好象可以加载gtk+的模块,不知道是怎么回事,你对它熟悉吗,网上的资料很少
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表