LinuxSir.cn,穿越时空的Linuxsir!

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

shell 脚本执行顺序?

[复制链接]
发表于 2005-2-8 12:24:03 | 显示全部楼层 |阅读模式
vi test
su - user1
ls
ZZ


为什么test运行后,ls的内容不是user1下的内容,而是
su - user1之前的内容????
发表于 2005-2-8 21:04:43 | 显示全部楼层
su后不改变当前目录
如想ls user1用户目录下的文件,可以su后cd到该目录
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-9 11:48:58 | 显示全部楼层
我这里只是举一个简单的例子!有些命令要某个特定的用户执行,才能有相应的权限。我准备写个批处理的,但是用su切换用户的时候,就出错了。

本来应该是从上倒下依次执行,但是为什么当切换用户的时候,shell执行的顺序就变了!!?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-11 15:52:08 | 显示全部楼层
现在发现不是shell脚本执行顺序的问题,而是su命令执行后,其后面的命令就不会执行了。当我输入exit后才接着执行后面的命令。

怎样才能在一个脚本中实现切换用户执行命令呢??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-14 20:10:45 | 显示全部楼层
版主帮忙解决啊
回复 支持 反对

使用道具 举报

发表于 2005-2-18 17:01:00 | 显示全部楼层
你试试用expect吧?
http://www.linuxsir.cn/bbs/showthread.php?t=173364
再搜索一下expect,还有一些文章
回复 支持 反对

使用道具 举报

发表于 2005-2-25 06:29:30 | 显示全部楼层
你可以加个判断语句啊
su - user1
if [#? -qe 0]
then
  ls
  zz
fi
回复 支持 反对

使用道具 举报

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

本版积分规则

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