从品牌网站建设到网络营销策划,从策略到执行的一站式服务
shell脚本中判断上一个命令是否执行成功
创新互联公司专注于企业营销型网站建设、网站重做改版、牙克石网站定制设计、自适应品牌网站建设、H5高端网站建设、商城网站定制开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为牙克石等各大城市提供网站开发制作服务。
shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败。
结合if-else语句实现判断上一个命令是否执行成功。
示例如下:
if [ $? -ne 0 ]; then
echo "failed"
else
echo "succeed"
fi
或者:
if [ $? -eq 0 ]; then
echo "succeed"
else
echo "failed"
fi
一、区别:
1、内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。
2、外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。
二、如何判断。
在终端中输入 type 可以查看命令是内部命令还是外部命令。格式为:
type 要查看的命令
例如,我们要查看 cd 命令是否为内部命令,可以键入 type cd。从返回的结果可以看出, cd 是一个内部命令。
$type cd
cd is a shell builtin---此为内部命令,为shell内置
$type shutdown
shutdown is /sbin/shutdown 在文件系统的某个路径下有一个与命令名称相应的可执行文件
是于||是或看个例子ls
pwd||echo
1输出是[root@localhost
yum.repos.d]#
ls
pwd||echo
1CentOS-Base-163.repo
CentOS-Base.repo
CentOS-Media.repo/etc/yum.repos.d解释,先执行ls,如果ls执行成功,则执行pwd,pwd执行也成功,所以不执行echo
1,在看个例子
#
ls
tt||echo
1CentOS-Base-163.repo
CentOS-Base.repo
CentOS-Media.repo-bash:
tt:
command
not
found1同样先执行ls,如果成功则执行tt,但tt命令不存在,所以执行失败,这时就执行echo
1的操作
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图