设为首页 收藏本站
查看: 841|回复: 0

简单shell脚本入门了解

[复制链接]

尚未签到

发表于 2018-8-21 09:42:38 | 显示全部楼层 |阅读模式
  一、Shell脚本
  脚本:可以执行文件,运行后可以实现某种功能(命令的堆积,非交互)
  规范Shell脚本的一般组成
  #! 环境声明(Sha-Bang)
  # 注释文本
  可执行代码
  二、简单写一个shell脚本,按照国际惯例,还是输出hello world
  [root@server0 ~]# vim /root/1.sh
  #!/bin/bash
  echo hello world
  [root@server0 ~]#  chmod +x /root/1.sh
  [root@server0 ~]# /root/1.sh
  管道传递
  使用 | 管道操作
  – 将前一条命令的标准输出交给后一条命令处理
  三、重定向输出
  >:只收集前面命令的正确输出
  2>:只收集前面命令的错误输出
  &>:收集前面命令的错误与正确输出
  /dev/null  #Linux黑洞设备,专用于收集不要的输出结果
  变量:为了增加脚本的适用环境的能力,增加脚本的灵活度,方便。
  变量: 容器,以不变的名称,储存变化的值
  变量名=变化的值
  使用变量:    $变量名
  为了降低脚本使用难度,可以产生交互
  read   :可以产生交互,将键盘输入的内容赋值给变量
  什么是变量
  以不变的名称存放的可能会变化的值
  – 变量名=变量值
  – 方便以固定名称重复使用某个值
  – 提高对任务需求、运行环境变化的适应能力
  设置变量时的注意事项
  – 若指定的变量名已存在,相当于为此变量重新赋值
  – 等号两边不要有空格
  – 变量名由字母/数字/下划线组成,区分大小写
  – 变量名不能以数字开头,不要使用关键字和特殊字符
  基本格式
  – 引用变量值:$变量名
  – 查看变量值:echo $变量名、echo ${变量名}
  变量的种类
  位置变量
  在执行脚本时提供的命令行参数(非交互式传值)
  预定义变量
  用来保存脚本程序的执行信息
  – 直接使用这些变量
  – 不能直接为这些变量赋值
  $#  已加载的位置变量的个数
  $*  所有位置变量的值
  $?  程序退出后的状态值,0表示正常,其他值异常
  $() :将命令的输出结果,作为参数
  常用的测试选项
  检查文件状态
  -e:文档存在为真
  -d:文档存在且为目录为真
  -f:文档存在且为文件为真
  -r:文档存在且有读取权限为真
  -w:文档存在且有写入权限为真
  -x:文档存在且有执行权限为真
  比较整数大小(带e都有等于二字,g代表大于,l代表小于)
  -gt:大于
  -ge:大于等于
  -eq:等于
  -ne:不等于
  -lt:小于
  -le:小于等于
  字符串比对
  == :相等
  !=:不相等
  for循环结构
  循环结构:将反复执行的语句,循环去执行
  for  变量名 in 值列表
  do
  命令序列
  done


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-554554-1-1.html 上篇帖子: shell习题-批量同步代码 下篇帖子: Linux中Shell的知识和用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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