LinuxSir.cn,穿越时空的Linuxsir!

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

大家好,我问一个SHELL的问题,SHELL是否支持事务?

[复制链接]
发表于 2003-5-9 22:52:42 | 显示全部楼层 |阅读模式
SHELL代码是如何解释的?
比如,他是不是一行一行来执行,一行出错,下面就停止进行了?
还是一直执行到结束?

比如我写了2个SHELL, usermail1 usermail2

usermail1:

#!/bin/sh
/root/usermail2
....
..
echo "fdsafsad" > /root/new-mail2
########

这样调用USERMAIL1的话,如果USERMAIL2里执行出错了,那么这代码会不会执行下去?
如果我的/root/new-mail2是usermail2脚本产生的,那么usermail2失败了的话,usermail1继续下去,不会也会出错吗?

说的有点乱,望高手指点以下!!
发表于 2003-5-9 22:56:53 | 显示全部楼层
看看置顶的入门帖子吧~~,shell有自己的条件控制语句.
 楼主| 发表于 2003-5-9 23:03:18 | 显示全部楼层
谢谢斑竹先
我知道有条件语句,我问的是如果USERMAIL2出错了,那么还可以执行到
echo "fdsafsad" > /root/new-mail2
这句吗?
还是等usermail2执行完了,才执行他下面的语句?
发表于 2003-5-9 23:12:49 | 显示全部楼层
最好的办法是自己编个脚本试试。
发表于 2003-5-9 23:13:11 | 显示全部楼层
不会.
因为你的/root/new-mail2他没有执行成功,他会出现错误提示!
我这样解释不知道对不对?
#!
#
if useramil2        //如果usermail2运行成功,
then                //那么
echo "fdsafsad" > /root/new-mail2    //执行
else                 //如果不成功
echo "command faild"  //出现错误提示
fi                   //结束
发表于 2003-5-9 23:21:18 | 显示全部楼层
usermail1:

#!/bin/sh
/root/usermail2
....
..
echo "fdsafsad" > /root/new-mail2
########
这明显是一个顺序结构,所以如果usermail2执行出错,它会返回一个错误值,然后usermail1继续执行下面的语句,如果usermail2是一个死循环则usermail1会一直等待usermail2返回状态值。

如果你自己动手做个实验,我想会理解得更深刻一些。
 楼主| 发表于 2003-5-10 09:07:15 | 显示全部楼层
感谢!
多谢斑竹和各位关照!
发表于 2003-5-10 13:01:21 | 显示全部楼层
何为“事务”?请问英文对应单词是什么?
thnx
发表于 2003-5-10 13:16:14 | 显示全部楼层
是楼主打错字啦吧~
case
 楼主| 发表于 2003-5-10 15:48:42 | 显示全部楼层
晕,是事务啊.
没错啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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