shell脚本语法基础

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

一、变量

1. shell变量的声明和使用

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

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

2. 常量

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

readonly name='ianzhi'

3. 销毁变量

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

name='ianzhi'
unset name

二、数据类型

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

1. 字符串

在shell脚本中定义字符串变量可以使用单引号或者双引号,也可以不使用引号,不适用引号与使用双引号基本相同。 使用单引号性能会更好,但是将不会解析字符串中的变量。

2. 数组

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

friends=(zhangsan lisi wangwu)

三、语法

主要需要注意以下几点:

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

1. 注释

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

2. 流程控制

2.1 if

if condition;then
    command
fi

2.2 if,else

if condition;then
    command
else
    command
fi

2.3 if,elseif

if condition;then
    command
elif condition;then
    command
else
    command
fi

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

文章作者ianzhi,原文地址:https://www.dnote.cn/users/ianzhi/posts/shelljiaobenyufajichu

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券