shell 脚本执行顺序?

shell 脚本执行顺序?

vi test
su - user1
ls
ZZ


为什么test运行后,ls的内容不是user1下的内容,而是
su - user1之前的内容????
本来应该是从上倒下依次执行,但是为什么当切换用户的时候,shell执行的顺序就变了!!?

我这里只是举一个简单的例子!有些命令要某个特定的用户执行,才能有相应的权限。我准备写个批处理的,但是用su切换用户的时候,就出错了。

请指教!      
现在发现不是shell脚本执行顺序的问题,而是su命令执行后,其后面的命令就不会执行了。当我输入exit后才接着执行后面的命令。

怎样才能在一个脚本中实现切换用户执行命令呢??      
复制内容到剪贴板
代码:
$ su -l user -c command
      
谢谢版主!!!      
[QUOTE=dearvoid]
复制内容到剪贴板
代码:
$ su -l user -c command
[/QUOTE]
谢谢斑竹,帮我解决了一个困扰我好几天的问题
不过,如果在普通用户执行一系列命令后,才切换回root
应该怎么处理呢?      
可以把你要执行的 commands 写成一个 script file 比如 foo.sh,然后通过 su 来调用 foo.sh      
OK,thanks      
谢谢,阅读后也帮助解决了自己的一个问题,在此谢谢一下。

我不知道能不能顶旧这个帖子,我是新手,我想问题解决了,总要感谢一下吧,呵呵