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的操作
分享名称:linux命令判断 linux命令判断文件是否存在
文章地址:https://www.cdcxhl.com/article12/hidcgc.html
成都网站建设公司_创新互联,为您提供网站维护、商城网站、Google、软件开发、微信小程序、移动网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联