前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本语法基础

shell脚本语法基础

作者头像
ianzhi
发布2019-07-31 13:02:18
7610
发布2019-07-31 13:02:18
举报
文章被收录于专栏:LNMP开发那些事LNMP开发那些事

shell即将各类命令预先放入一个文件中,方便一次性执行的一个程序文件,方便系统管理员来管理操作系统。目前大多数服务器使用linux操作系统,学习shell脚本,有助于简化日常的服务器管理工作。本篇主要是shell脚本的基本语法。

一、变量

1. shell变量的声明和使用

shell的变量声明与python类似,有以下特点:

  • 只能使用字母数字和下划线
  • 必须以字母或者下划线开头
  • 不能使用shell关键字(用help命令可以查看所有保留关键字)
  • 可以使用语句赋值 例如:name='ianzhi' age=12 _money=100 for file in ls

2. 常量

shell中没有类似于常规编程语言中的常量概念,但是可以使用readonly关键字将变量声明为只读类型,例如:

代码语言:javascript
复制
readonly name='ianzhi'

3. 销毁变量

当变量不再使用以后,为了性能,我们通常会销毁变量。在shell脚本中,可以使用unset来销毁变量,例如:

代码语言:javascript
复制
name='ianzhi'
unset name

二、数据类型

shell是弱类型语言,输入的时候无论是数字还是字符串,shell都是以字符串类型来存储的。

1. 字符串

在shell脚本中定义字符串变量可以使用单引号或者双引号,也可以不使用引号,不适用引号与使用双引号基本相同。

使用单引号性能会更好,但是将不会解析字符串中的变量。

2. 数组

bash中支持一维数组,定义数组用小括号包含以空格分隔的字符串即可。数组中的元素下标以0开始。例如:

代码语言:javascript
复制
friends=(zhangsan lisi wangwu)

三、语法

主要需要注意以下几点:

  • 变量赋值,=两侧不能有空格,会报错
  • 行尾不需要添加;
  • 一般在文件首行定义使用的解释器
  • 使用echo来输出内容

1. 注释

#号开头的行就是注释,多行注释可以使用#号,或者也可以使用大括号括起来。

2. 流程控制

2.1 if
代码语言:javascript
复制
if condition;then
    command
fi
2.2 if,else
代码语言:javascript
复制
if condition;then
    command
else
    command
fi
2.3 if,elseif
代码语言:javascript
复制
if condition;then
    command
elif condition;then
    command
else
    command
fi

通过这篇文章,相信大家对于shell脚本的语法有了一个大概的了解,以后的文章,我会将主要内容放在介绍shell脚本在日常服务器管理中的应用方面,欢迎关注~

文章作者ianzhi,原文地址:https://cloud.tencent.com/developer/article/1476894

文章版权归作者所有,转载请保留此声明。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、变量
    • 1. shell变量的声明和使用
      • 2. 常量
        • 3. 销毁变量
        • 二、数据类型
          • 1. 字符串
            • 2. 数组
            • 三、语法
              • 1. 注释
                • 2. 流程控制
                  • 2.1 if
                  • 2.2 if,else
                  • 2.3 if,elseif
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档