• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
白_胖_子
Linux学习的生活就是这么朴实无华且枯燥
博客园    首页    新随笔    联系   管理    订阅  订阅

Shell脚本编程基础之shell脚本退出状态码

退出状态码

  • 系统中有自带变量$?保存了程序执行后的状态

  • 只要是执行成功了,返回的状态都是 0

exit [n] 自定义返回状态码

exit 在脚本中本身是退出的作用

根据程序运行的结果,返回对应的状态码,帮助实现条件判断


[21:15:48 root@C8-3-55 ~]#grep -q root /etc/passwd ;echo $? ;
grep -q admin /etc/passwd ; echo $?;
grep -q root /ABC;echo $?;
grep -q root /ABC 2&>null ; echo $?

0
1
grep: /ABC: 没有那个文件或目录
2
2
  • 判断账号是否存在,让计算机做更多的事
[21:17:26 root@C8-3-55 ~]#id root &> /dev/null ;echo $?
0
[21:19:54 root@C8-3-55 ~]#id amin &> /dev/null ;echo $?
1
  • 检查网站是否能访问,能ping通则能访问,我们不关心ping的值,只关心结果
[21:22:53 root@C8-3-55 ~]#ping -c10 -W1 baidu.com &>/dev/null ; echo $?
0
[21:23:07 root@C8-3-55 ~]#ping -c10 -W1 google.com &>/dev/null ; echo $?
1

之后我们可以根据返回的值,进一步判断相应的操作:

  • 比如返回值若是0,表示网站能ping通,我们可以通过wget或者curl进一步判断网页是否能正常访问。

  • 比如返回值若是1,表示网站不能正常访问我们需要检查IP配置、DNS或者路由。

* * * 胖并快乐着的死肥宅 * * *
posted @ 2021-03-12 10:30  白_胖_子  阅读(404)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3